c语言第13讲问题
#include <stdio.h>int main()
{
int ch;
int num = 0;
printf("请输入待转换的字符串:");
do
{
ch = getchar();
if (ch >= '0' && ch <= '9')
{
num = 10 * num + (ch - '0');
}
#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’,#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’#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’。
else
{
if (num)
{
break; // 如果已有数字,则退出循环
}
}
这一段我感觉有些多余啊!
{:10_249:} if (num)表示如果num为真,是if(num != 0)的简写
else在这里的作用是如果输入的不是0~9,而且num不为0时,退出循环(break)
ch != '\n只是作为循环结束的一个条件,你也可以用'#','@'等字符表示循环结束 巴巴鲁 发表于 2020-9-12 11:45
if (num)表示如果num为真,是if(num != 0)的简写
else在这里的作用是如果输入的不是0~9,而且num不为0时, ...
谢谢
页:
[1]