c语言的编程问题:关于for循环

这是我写的代码:#include<stdio.h>intmain(){charc1,c2;inti;for(i=1;i<=100;i++){printf("请输入一个大写... 这是我写的代码:
#include<stdio.h>int main(){char c1,c2; int i;for(i=1;i<=100;i++){ printf("请输入一个大写字母\n"); scanf("%c",&c1);

c2=c1+32; printf("该大写字母对应的小写字母为\n%c\n",c2);} return 0;}

运行后输入一个大写字母后自动就会跳出一个新的"请输入大写字母 该大写字母为(星号)"
这是为什么呢?
还有就是直接在最开始按回车键,执行后输出“星号”,星号ASKII码为45,line feed(换行)为32,就是说为什么for循环第一轮输入的“A”+“回车”,在第二轮循环中直接就把“回车”扫描了?还有就是回车键在c语言中是line feed(ascii码为10)还是carriage return(ascii码为13)?
展开
 我来答
Mr流星飞逝
2014-01-20 · TA获得超过142个赞
知道小有建树答主
回答量:61
采纳率:0%
帮助的人:59.1万
展开全部
是scanf("%c",&c1);读入回车了,改成这样
#include<stdio.h>
int main()
{
char c1,c2; int i;
for(i=1;i<=100;i )
{
printf("请输入一个大写字母\n"); gets(&c1);/*这行改一下*/

c2=c1 32; printf("该大写字母对应的小写字母为\n%c\n",c2);
}
return 0;
}
追问
谢谢!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1527374789
2014-01-20 · TA获得超过171个赞
知道答主
回答量:52
采纳率:0%
帮助的人:26.7万
展开全部
看一下C语言的输入输出缓冲吧。你输入A+回车 第一次循环读取A,然后继续循环,此时查看缓冲区是否有内容,若有(此例中为回车),读取并处理。
可以通过刷新缓冲区或者getchar()方法解决。刷新缓冲区,清空缓冲内容。getchar则是读取一个字符(本例中回车)并丢弃
追问
您答的比较高端,,,我这个初学者看不大懂。。。不好意思哈~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BGHnnb
2014-01-20 · TA获得超过276个赞
知道小有建树答主
回答量:140
采纳率:50%
帮助的人:121万
展开全部
因为回车键也是一个字符啊!所以你把输入改成 scanf("%c\n",&c1);应该就可以了,这样读入时直接读入一个回车,就不算字符了。
回车键的ascii码是视编译器而定,对于你这个编译器,应该是12吧
追问
前面那么改不行。。。上机看看~~~后面关于ascii码不应该是10吗?因为后面是c2=c1+32呀,星号是42,所以不就是10嘛~~~?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rankabc
2014-01-20 · TA获得超过3560个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1050万
展开全部
#include<stdio.h>
int main()
{char c1,c2;
 int i;
for(i=1;i<=100;i++)
{
     printf("请输入一个大写字母\n");
     scanf(" %c",&c1); //前面加空格 
     c2=c1+32;
     printf("该大写字母对应的小写字母为\n%c\n",c2);

return 0;
}
更多追问追答
追问
这是什么程序呀?看起来好好看~。还有,为什么在前面加个空格就行了?原理是什么?
追答
避免读进回车
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dream梦殇
2014-01-20 · TA获得超过258个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:169万
展开全部
printf在for循环里面 ,循环一次 运行一次,当然会每次都出现“请输入一个大写字母”了
追问
我说的是输入一次,它循环了2次,看清题目哦~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式