我正在尝试按照书中的某些步骤进行操作。这是本书中的确切代码,但是我收到一条错误消息。

这两个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/

10-14 06:42