为什么这段伪代码 while无法进入while?

下面while程序为什么会进入死循环?【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:578,358贴子:
下面while程序为什么会进入死循环?收藏
1 #include &stdio.h&
3 void Temperature (double temper);
4 int main (void){
double tember2;
printf ("Please enter the temperature(Fahrenheit):");
scanf ("%lf", &tember2);
Temperature (tember2);
printf ("Bye!"); 10
return 0; 12 } 13
14 void Temperature (double temper){ 15
double C 16
double K 17
while (temper != 'q'){ 19
Celsius = 1.8 * temper + 32.0; 20
Kelvin = Celsius + 273.16; 21
printf ("Fahrenheit Temperature: %lf\n", temper); 23
printf ("Celsius Temperature: %lf\n", Celsius); 24
printf ("Kelvin Temperature: %lf\n", Kelvin); 25
printf ("Please enter the temperature(Fahrenheit)"); 26
scanf ("%lf", &temper); 27 } 28 }这段代码为什么按Q的时候会进入四循环
c语言,学软件开发选博为峰,技术新,学习氛围轻松,随到随学免费试学,学费低,学时短,博为峰c语言!
double储存字符? 不是char么
问题在于“scanf ("%lf", &tember2);”永远无法读入q这个字符。
即使 double读入的是q的ascii码 你也不能拿它直接和某个值进行比较
对了,从键盘接受字符的话,应该用char型如果用int 或double,应该用相应的ascii码也就是113     ------无论我做了什么,无论我变成什么样子,我会永远关心你。
你拿一个double跟一个char/int比较?
登录百度帐号为什么这样写程序里的while循环体语句不执行_百度知道
为什么这样写程序里的while循环体语句不执行
我有更好的答案
是do-while语句。它的一般形式为: do {循环体} while (条件表达式);do_while语句的特点是“先执行循环体,后判断循环条件”,即【至少执行一次循环体】。
采纳率:89%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。这段程序怎么理解 什么意思?? while后面那段怎么理解 那里的==1是什么意思_百度知道
这段程序怎么理解 什么意思?? while后面那段怎么理解 那里的==1是什么意思
我有更好的答案
%[^ \n] 表示遇到空格或回车,结束一次输入%*[ ]
表示把空格从缓存中清除掉,不赋值给任何变量==1表示正确读到一个有效的数据这些都是scanf()函数的功能特点这段程序代码表示统计输入的单词个数!
采纳率:75%
来自团队:
为您推荐:
其他类似问题
while的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。请问这段代码,while循环里面为什么进不去啊?【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:578,358贴子:
请问这段代码,while循环里面为什么进不去啊?收藏
#include &stdio.h&   #include &conio.h&#include &iostream& int main(){
int c,a; printf("pls input a char1:"); a=getchar(); printf("%d\n",a); printf("pls input a char2:");
while((c=getchar()) != '\n') {
printf("%d\n pls input a char3\n:",a);
} getchar();
return 0;}
专为满足各类行业和客户要求而设计,并已被证明可满足各个施工标准的要求。
刚才测试了一会儿,我明白是怎么回事了!为什么while进不去!!!打扰大家了!
你是想输入一个字符 输出他的ascii值吗
输入的时候像这样:a ajdsjdnjasd 就可以了
楼主,怎么回事,我没测试,一时看不出来
这问题太明显了。你的第一个getchar运行时留下一个回车,当程序运行到while时,新的getchar刚好读取那个回车,直接退出循环了
对不起,没有看到二楼,打扰了
登录百度帐号}

我要回帖

更多关于 do while 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信