我写了以下代码:
char arrayD[] = "asdf";
char *arraypointer = &arrayD;
while(*arraypointer != '\0'){
printf("%s \n", arraypointer+1);
arraypointer++;
}
我尝试%d%c打印每个字符。但是,有了%c,我得到了“?? ? ?”,对于%s,我得到“sd f sd f”。等等。我在这里遗漏了什么?
最佳答案
您打印的是指针地址,而不是指针指向的内容。另外,arrayD是地址,您不需要&arrayD。以下是一个完整的工作示例:
#include <stdio.h>
int main()
{
char arrayD[] = "asdf";
char *arraypointer = arrayD;
while(*arraypointer != '\0'){
printf("%c \n", *(arraypointer+1));
arraypointer++;
}
return 0;
}
关于c - 如何使用指针打印字符数组中的每个字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54492875/