C语言中do while或者while循环里能不能嵌套for循环?

如果可以或者不可以,请说明白点...
谁帮我看一下,本来下面代码正确,我最后想在外面套个do循环,提示是否输入继续输入..结果继续时数据就错误..
#include<stdio.h>
void main()
{
char a,ch;
int zongshu=0,zimu=0,shuzi=0,zifu=0;
do
{
fflush(stdin);
printf("请输入一行字符:\n");
do
{
a=getchar();
printf("");
zongshu++;
if(a>='a'&&a<='z'||a>='A'&&a<='Z')
zimu++;
else if(a>='0'&&a<='9')
shuzi++;
else
zifu++;
}
while(a!='\n');
printf("字母数:%d\n数字数:%d\n字符数:%d\n总数是:%d\n",zimu,shuzi,--zifu,--zongshu);
printf("是否继续输入y/n?");
fflush(stdin);
ch=getchar();
}
while(ch=='y');
}

循环控制语句没什么嵌套限制!

这个程序用getchar()来输入一个字符很有可能会提前接收了里层循环的'\n',所以可能提早退出或无法退出,因为getchar()对'\n'的处理不好,即接收到'\n'会停止,而把这个'\n'留给下一个getchar()接收。
建议你把getchar()改成getch(),时输入的字符不回显,但可以接收任何字符,包括'\n'
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-18
循环当然可以嵌套循环...
就像if可以嵌套一样...
我觉得可以将最外层的do...while语句
改为
while(1)
{
...
if(ch =='y')
break;
}
第2个回答  2019-06-03
可以。
不管是do
while还是while都可以嵌套for循环,而且可以嵌套任意多个for循环。
不仅如此,这三种循环语句可以任意相互嵌套,个数不限。但是过多的循环嵌套
会使得逻辑混乱,容易出错,所以使用中嵌套三重循环及以下的比较常见。

相关了解……

你可能感兴趣的内容

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