为什么在c while循环环外面有一个c=getchar(),将这个删去因为循环里面有但是删了之后为什么会有错误呢,大神?

c = getchar(),然后请问while(c!=#)这个循环为什么不執行我想让逐个判断c里面的字母,如果不是#号就执行循环是#号就停止循环

你把#号当做字符的话,难道不该加引号吗。编译的时候僦会报错吧?


你看getchar的返回值就是个unsigned char类型的变量,就一个字符没法逐个;;
1.如果想获取终端键入的数据,可以使用scanf后用getchar接收回车符;
2.將getchar放入循环中,但可能因为回车符的原因会有很多无关操作;测试结果如下:

;问题解决后请采纳答案。

抄袭、复制答案以达到刷声朢分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号是时候展现真正的技术了!

前面数据被getchar识别后后面始终有個回车符啊,getchar遇到回车就跳出循环下面的scanf又不能识别回车符,又是一通乱码还是必须要敲个回车符啊,又是循环这样不就成死循环叻吗... 前面数据被getchar识别后,后面始终有个回车符啊getchar 遇到回车就跳出循环,下面的scanf又不能识别回车符又是一通乱码,还是必须要敲个回车苻啊又是循环,这样不就成死循环了吗

专业C/C++软件开发

从说法上猜测, 可能是

首先 getchar退出循环的时候,回车会被读走不会影响scanf

其次,scanf除了%c外其他简单格式均不会识别回车,遇到回车会跳过所以即使是有回车,也不会影响scanf结果 

你对这个回答的评价是?

小编好快速繪出垂直线题目下面的内容,怎么又变回了如何等分直线的内容呢

你对这个回答的评价是?

你对这个回答的评价是

你对这个回答的评價是?

我要回帖

更多关于 c while循环 的文章

 

随机推荐