gcc 编译器抱怨 char* 测试中的 test[0] 错误;
我只是这样写:
char* test="test";
printf("%s",test[0]);
它说seg failure; 然后我改为 printf("%s",&test[0]);
错误消失了 但这不是我想要的; 控制台打印:“测试” 如何从该指针获取值“t”?
I simply write this:
char* test="test";
printf("%s",test[0]);
it says seg fault;
then I change toprintf("%s",&test[0]);
the error gone
But this is not what I want;
the console print: "test "
how to get just value "t" from that pointer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您只需要
t
,您应该这样做:格式
%c
将打印单个char
。%s
将打印整个以 null 结尾的字符串。If you want just the
t
, you should do:The format
%c
, will print a singlechar
.%s
will print the entire null-terminated string.您应该使用 %c 而不是 %s,因为 %s 采用 char * 并打印到 \0。 %c 取一个字符。
You should use %c instead of %s as %s takes a char * and prints until \0. %c takes one single character instead.