关于do while语句,谢谢大家!
do{
ch = getchar();
if (ch >= '0' && ch <= '9')
{
num = num * 10 + (ch - '0');
}
else
{
if (num != 0)
{
break;
}
}
}
while (ch != '\n');
如上面的代码中,我把while(ch != '\n')写成while ((ch = getchar()) != '\n'),两者都能编译,但是前者结果为:
请输入待转换的字符串:520
结果为520
而后者的结果为:
请输入待转换的字符串:520
结果为50
这是为什么呀? 因为第二个有两个ch = getchar();
输入520,只有5和0会参加运算,2被覆盖了
页:
[1]