gcc编译器抱怨char * test的test [0]错误;

时间:2011-11-17 04:29:07

标签: c++ c arrays pointers char

我只想写下:

char* test="test";
printf("%s",test[0]);

它说seg故障; 然后我改为 printf("%s",&test[0]);错误消失了 但这不是我想要的; 控制台打印:“测试” 如何从该指针获得值“t”?

2 个答案:

答案 0 :(得分:7)

如果你只想要t,你应该这样做:

printf("%c",test[0]);

格式%c将打印一个char

%s将打印整个以null结尾的字符串。

答案 1 :(得分:4)

你应该使用%c而不是%s,因为%s需要一个char *并打印到\ 0。 %c改为使用一个字符。