C语言中do...while能和while嵌套使用吗

#include <stdio.h>
void main()
{
int val;/*存放待判断的数*/
int m;
int sum = 0;
char ch;
do
{

printf("请输入您要判断的数字:\n");

scanf("%d", &val);
m = val;
while(m)
{
sum = sum*10 + m%10;
m/=10;
}

if(sum == val)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
printf("请问您是否还想输入,Y/N\n");
scanf(" %c", &ch);
} while('y'==ch||'Y'==ch);

}
这个程序出了啥问题,我是初学者望指点,把do...while去掉程序可以正常运行,为什么呢

第1个回答  2012-02-28
首先:
do{
语句; //可以是任何语句,包括你所说的
}while();

其次:
程序正常运行!
我不知道你要问的是什么,你具体要求程序做什么,so,不知道你所说的“程序出的啥问题”是具体指什么追问

检验一个数是不是回文数啊,我又试了几遍,还是不行,请高人指点,

追答

我表示拿你的代码运行后的结果是正确的,如图!

请把你的错误截图发上来!

谢谢!

追问

不知道是不是我这个软件不行,谢谢你啦

追答

不好意思,没有完全测试。给您带来的麻烦敬请谅解!多次测试之后,发现问题如下(仅一处错):

#include
void main()
{
int val;
int m;
int sum ;
char ch;
do
{
sum=0; //----------------------------------------每次再一次执行的时候要把上一次sum中的值置零,方便今后对sum的使用
printf("请输入您要判断的数字:\n");
scanf("%d", &val);
m = val;
while(m)
{
sum = sum*10 + m%10;
m/=10;
}

if(sum == val)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
printf("请问您是否还想输入,Y/N\n");
scanf(" %c", &ch);
} while('y'==ch||'Y'==ch);

}

本回答被提问者采纳
第2个回答  2012-02-28
#include <stdio.h>
void main()
{
int val;/*存放待判断的数*/
int m;
int sum = 0;
char ch;
do
{

printf("请输入您要判断的数字:\n");

scanf("%d", &val);
m = val;
while(m)
{
sum = sum*10 + m%10;
m/=10;
}

if(sum == val)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
printf("请问您是否还想输入,Y/N\n");
scanf(" %c", &ch);
}
}while('y'==ch||'Y'==ch);

你最后面的那个括号位置不对啊追问

括号没有问题啊,在帮我看看呗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网