该代码运行后总会在末尾出现一个8😂

img

img


目的是为了输入一串字符然后用EOF结束,但不知道为什么结尾总会有一个8

你的s1没有初始化,所以它里面是个随机数,它的第9位里存的就是8,你重启电脑后它会变
你输出的时候没有判断到\0结束,而是把里面所有东西都打印,8也跟着打印了

输出循环判断用用 s1[i]!='\0'

三个问题,第一i没有初始化,应该令i=0,第二应该将c定义为char型,第三输出时循环判断条件应该改为str[i]!='\0'