我正在尝试按照书中的某些步骤进行操作。这是本书中的确切代码,但是我收到一条错误消息。
这两个printf语句都是问题:
printf(pointer);
printf(pointer2);
如何解决此问题以实际打印指针中的内容?
#include <stdio.h>
#include <string.h>
int main(void)
{
char str_a[20]; //A 20-element array
char *pointer; //A pointer, meant for a character array
char *pointer2; //And yet another one
strcpy(str_a, "Hello World\n");
pointer = str_a; //Set the first pointer to the start of the array
printf(pointer);
pointer2 = pointer + 2; //Set the second one 2 bytes further in.
printf(pointer2);
strcpy(pointer2, "y you guys\n"); //Copy into that spot.
printf(pointer);
return 0;
}
最佳答案
尝试
printf("%s", str_a);
现在,如果要打印变量本身的地址,可以尝试:
int a = 5;
printf("%p\n",(void*)&a);
关于c - 如何使用C和printf函数打印指针中的内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33096458/