如果可以或者不可以,请说明白点...
谁帮我看一下,本来下面代码正确,我最后想在外面套个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'
è¿ä¸ªç¨åºç¨getchar()æ¥è¾å ¥ä¸ä¸ªå符å¾æå¯è½ä¼æåæ¥æ¶äºéå±å¾ªç¯ç'\n'ï¼æ以å¯è½ææ©éåºææ æ³éåºï¼å 为getchar()对'\n'çå¤çä¸å¥½ï¼å³æ¥æ¶å°'\n'ä¼åæ¢ï¼èæè¿ä¸ª'\n'çç»ä¸ä¸ä¸ªgetchar()æ¥æ¶ã
å»ºè®®ä½ ægetchar()æ¹ægetch()ï¼æ¶è¾å ¥çå符ä¸åæ¾ï¼ä½å¯ä»¥æ¥æ¶ä»»ä½å符ï¼å æ¬'\n'
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-07-18
循环当然可以嵌套循环...
就像if可以嵌套一样...
我觉得可以将最外层的do...while语句
改为
while(1)
{
...
if(ch =='y')
break;
}
就像if可以嵌套一样...
我觉得可以将最外层的do...while语句
改为
while(1)
{
...
if(ch =='y')
break;
}
第2个回答 2019-06-03
可以。
不管是do
while还是while都可以嵌套for循环,而且可以嵌套任意多个for循环。
不仅如此,这三种循环语句可以任意相互嵌套,个数不限。但是过多的循环嵌套
会使得逻辑混乱,容易出错,所以使用中嵌套三重循环及以下的比较常见。
不管是do
while还是while都可以嵌套for循环,而且可以嵌套任意多个for循环。
不仅如此,这三种循环语句可以任意相互嵌套,个数不限。但是过多的循环嵌套
会使得逻辑混乱,容易出错,所以使用中嵌套三重循环及以下的比较常见。