这是源代码
char target[80]="hello", *tar;
tar=⌖
printf("%s",tar); //printing hello
tar
获取target[0]
的地址,然后输出整个字符数组的原因。
答案 0 :(得分:2)
当你说%s并指定字符串的起始内存(或任何中间)时,它会被打印,直到遇到'\ 0'字符。
考虑
char *name = "Hello";
将在内部存储为 你好\ 0
所以,如果你需要一个字符,请去%c。
答案 1 :(得分:1)
使用%c打印单个字符,%s用于打印字符串。
答案 2 :(得分:0)
C字符串以空值终止。当您将表示字符串的字符数组中的第一个字符的地址传递给printf
并告诉它使用%s
将输出格式化为字符串时,它将打印从该字符串开始的所有字符到达空(NUL)字符'\0'
之前的第一个字符的地址。
答案 3 :(得分:0)
%s表示字符'tar'指向和下一个'\ 0'之间的打印字符。
的printf( “%C”,*焦油);
将打印您需要的内容。