- 博客(1)
- 收藏
- 关注
原创 C语言中scanf(“%s%s“,str1,str2)由于第一个字符数组过小导致读取到第二个字符串的问题。
这是因为我们设置的stu[].no是字符数组大小为3,在scanf中读完一个字符串后会自动在末尾加上一个'\0'来分割字符串,但是我们的字符数组没空间了就和下一个数组连在了一起。今天做作业要连续输入两个字符串,众所周知,C语言中没有String类型,字符串由字符数组char[]控制,如果字符数组没有空间放'\0'会怎样呢?和我们想的不一样,stu[i].no的值不是001,002,003;而是变成了001dd,00cc,003ff;只需将stu[].no的大小调大。结果就和我们想的一样了。
2022-09-29 11:04:49
318
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人