发布网友 发布时间:2023-09-25 13:26
共5个回答
热心网友 时间:2023-09-25 16:11
不是不能运行,实际上已经运行了,打印出来的就是 回车字符 因为getchar()函数也是从输入缓冲区取值的,你前面的scanf()函数结束时的回车键保留在了缓存区,被下面的getchar()直接取走了,一般我都在scanf()后面加一句 getchar(); 将这个回车值跳掉追问谢谢啦~明白了
热心网友 时间:2023-09-25 16:11
楼上说得对,是因为输入函数scanf不会对结尾的回车进行处理,所以在t=getchar这句会直接从输入缓冲区读取“回车”,而不是要求再次输入,具体你可以搜下输入输出函数的详解。
热心网友 时间:2023-09-25 16:12
您好!很高兴为您解答。热心网友 时间:2023-09-25 16:12
因为你运行完一遍后(输入Y或N后)没有继续指向开头从新再开始一遍循环,用while或者goto就好了热心网友 时间:2023-09-25 16:13
追问谢谢!😁