c语言地3讲问题
#include <stdio.h>int main()
{
int ch;
int num = 0;
printf("请输入待转换的字符串:");
do
{
ch = getchar();
if (ch >= '0' && ch <= '9')
{
num = 10 * num + (ch - '0');
}
else
{
if (num)
{
break; // 如果已有数字,则退出循环
}
}
}
while (ch != '\n');
printf("结果是:%d\n", num);
return 0;
}
这里为什么要用到else,不用貌似也没啥影响,还有if括号里的num是什么意思,ch为什么不能等于'\n’. do{...}while (ch != '\n');
的意思是:当输入ch不是回车的时候执行循环内容
num的初始值是0,而 if (num) //当num不等于0的时候,执行,不等于0说明已经有值了,所以要退出循环
{
break; // 如果已有数字,则退出循环
}
页:
[1]