【发布时间】:2011-11-17 04:29:06
【问题描述】:
我只是这样写:
char* test="test";
printf("%s",test[0]);
它说段错误;
然后我改为
printf("%s",&test[0]); 错误消失了
但这不是我想要的;
控制台打印:“测试”
如何从该指针中获取值“t”?
【问题讨论】:
标签: c++ c arrays pointers char
我只是这样写:
char* test="test";
printf("%s",test[0]);
它说段错误;
然后我改为
printf("%s",&test[0]); 错误消失了
但这不是我想要的;
控制台打印:“测试”
如何从该指针中获取值“t”?
【问题讨论】:
标签: c++ c arrays pointers char
如果你只想要t,你应该这样做:
printf("%c",test[0]);
%c 格式,将打印一个 char。
%s 将打印整个以空字符结尾的字符串。
【讨论】:
't' 是一个字符。而"t" 是一个 c 字符串。您无法将 char 与 c 字符串进行比较。
您应该使用 %c 而不是 %s,因为 %s 需要一个 char * 并打印到 \0。 %c 只取一个字符。
【讨论】: