What is output ?
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
void myfunc(char** param)
{
++param;
}
void main()
{
char* string = (char*)malloc(64);
strcpy(string, "hello_World");
myfunc(&string);
myfunc(&string);
printf("%s\n", string);
getch();
}
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
void myfunc(char** param)
{
++param;
}
void main()
{
char* string = (char*)malloc(64);
strcpy(string, "hello_World");
myfunc(&string);
myfunc(&string);
printf("%s\n", string);
getch();
}
Chính xác
Xem lời giải
Suy nghĩ trả lời câu hỏi trước khi xem đáp án
ATNETWORK
Lời giải:
Báo saiBiến string sẽ chứa địa chỉ của chuỗi. &string là địa chỉ của biến con trỏ string (xem hình vẽ).
Khi truyền &string cho hàm myfunc(), thì param = &string (tức là con trỏ 2 chiều param trỏ tới địa chỉ của biến string).
Trong hàm myfunc(), phép toán ++param làm thay đổi vùng nhớ mà param trỏ tới mà không làm thay đổi địa chỉ mà biến string trỏ tới.
Câu hỏi này thuộc ngân hàng trắc nghiệm dưới đây, bấm vào Xem chi tiết để làm toàn bài
400 Câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải chi tiết
Tổng hợp câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
ADMICRO
YOMEDIA
ZUNIA9