C语言题,关于字符串常量后面的✀尀0✀的。

2025-05-18 21:47:12
推荐回答(4个)
回答(1):

输出字符串的时候是一直遇到\0结束的,但是你的数组最后没有\0,所以输出aaaa以后就接着输出,知道遇到0,所以乱码。你把a[3]赋值\0试试

回答(2):

这样的输出,原因在于你前面的赋值。你前面使用循环给字符串中的每个元素进行了赋值。这个字符串数组一共可以存放4个字符,你在这里也的确是赋值为aaaa,数组已经满了,没有存放一个字符串结束标志'\0',所以,你使用循环输出是没有问题的。但是,在使用字符串输出时,由于没有结束标志,所以输出时就不能正确的结束,这样就产生了前面的四个a和后面的乱码了。如果在前面有str2[3]='\0';这条语句,那么使用printf("%s\n",str2); 就没有问题了。

回答(3):

很赞同二楼的解释

回答(4):

二楼说的很好,赞