假设我的C 程序中有以下代码:
#include <stdio.h>
void PrintSomeMessage( char *p );
int main(int argc, char *argv[]) {
char arr[10] = "hello";
PrintSomeMessage(&arr[0]);
return 0;
}
void PrintSomeMessage(char *p)
{
printf("p: %s",p);
}
为什么这个输出会是整个单词“hello”而不是单个字符“h”?
不过,我明白,如果我"%c"
在格式化程序中输入 a,它只会打印一个字母。但是,这个地址中每个字母的内存地址还是不同的。拜托,有人给我解释一下吗?