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’,
还有这里
else
{
if (num)
{
break; // 如果已有数字,则退出循环
}
}
这一段我感觉有些多余啊!
本帖最后由 728252187 于 2020-9-12 11:50 编辑
兄弟,没有你这种发帖子的吧?是发帖子不收税吗?你同样的问题发两个,你叫人家是帮你还是不帮你?
要知道,论坛上没有人是必须帮你解答问题的!!! 人家回复你了,你收到了满意的结论,你得给人家一个回报,选为最佳答案(这步操作并不需要你付出什么,只是系统给了回复人一个相应的奖励而已)。
你前面发了一个帖子了,人家给你回复了,不满意答案,可以继续提问,你重新发一个帖子,这算怎么回事?是想引起回复你帖子的朋友们互掐吗? 风过无痕1989 发表于 2020-9-12 11:56
兄弟,没有你这种发帖子的吧?是发帖子不收税吗?你同样的问题发两个,你叫人家是帮你还是不帮你?
要知 ...
发出格式了,不知道怎么删,我也不想的。 728252187 发表于 2020-9-12 11:58
发出格式了,不知道怎么删,我也不想的。
我们没有删除帖子的权限
如果感觉你帖子发的有错误想改,可以编辑你的帖子 本帖最后由 风过无痕1989 于 2020-9-16 00:34 编辑
问题还没有解决吗?你所说的 else 段,我去掉一层花括号,能理解了吗?
如果没有这一段,又等不到回车,将会是个死循环
if (num)的意思是只要 num <> 0 就执行花括号里面的语句,它等价于:if (num != 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;
}
728252187 发表于 2020-9-12 11:58
发出格式了,不知道怎么删,我也不想的。
好像没有删除帖子的权限,有编辑功能也行呀
页:
[1]