c语言关于字符串终止符的问题

2025-01-08 10:17:13
推荐回答(4个)
回答1:

printf("item\0item\n");
"\0"代表字符串结束,printf打印到“\0”,就结束了
输出是item
printf("item%citem\n", c_0);
打印%c 是要打印一个字符,所以会打印c_0的值,'\0'是空,不是空格
输出是itemitem

你可以把c_0 换成char *试一下。

回答2:

printf("item\0item\n");
在("item\0item\n")中的\0表示字符串结束;所以输出是:item
printf("item%citem\n", c_0);
在"item%citem\n"中,c_0代表一个空字符了,所以输出是:item item

我没有在编译器里验证,但这样分析出来,应该没有什么问题了吧!

回答3:

str[1]=0

str[1]='\0'两个语句具有同样的功能,也就是等价的,当然,str声明的应该是一个字符串,str[1]=0
不必多说,str[1]='\0'后面是以字符形式的赋值方式,使用了转意字符"\",也就是字符的值等于0。

回答4:

面试的时候就有一个类似的题,可见C++的输出中能用%号就要用%号呀。