| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2021 人关注过本帖
标题:大家帮我看看这句简单c语言,结果想不通阿~
只看楼主 加入收藏
yjcf
Rank: 1
来 自:西安工业大学
等 级:新手上路
帖 子:145
专家分:0
注 册:2008-3-29
收藏
 问题点数:0 回复次数:16 
大家帮我看看这句简单c语言,结果想不通阿~
#include "stdio.h"
void main()
{
int i;char c;
for(i=0;i<=5;i++)
 {
  c=getchar();
  putchar(c);
 }
getch();
}

按理说应该循环6次输入一个字符,可为什么连续输入一串字符后显前六个,而非显示一个字符让你再次输入,并循环6次呢?反正运行一下后和自己想法不一样,谁能解释一下...
搜索更多相关主题的帖子: c语言 结果 void int main 
2008-03-30 14:23
love329125
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-1-5
收藏
得分:0 
晕,你这个明显有问题嘛
那个getchar();一次只能输入一个字符
你不能一次输入一串字符
putchar();一样,只能一次输出一个字符
这个程序的结果是
循环6次,每次让你输入一个字符,计算机输出一个字符
你输入一串
当然不行了

开心!!
2008-03-30 14:31
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
收藏
得分:0 
回复 1# 的帖子
难道会自己输入吗?
你的程序就是从键盘输入6个字符啊,并且输出!!!
用循环控制输入,是避免用6个getchar()和putchar()

!!!理解万岁!!!
2008-03-30 14:33
love329125
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-1-5
收藏
得分:0 
补充一点
你那个getch();最好在{}里面的最后面加上,如果你是我刚才那样说的让它那样做

开心!!
2008-03-30 14:33
love329125
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-1-5
收藏
得分:0 
批评3#
这个程序哪是每次输入6个字符啊
是每次输入一个字符
输6次

开心!!
2008-03-30 14:34
yjcf
Rank: 1
来 自:西安工业大学
等 级:新手上路
帖 子:145
专家分:0
注 册:2008-3-29
收藏
得分:0 
回2,3楼,你们运行一下,输入一串字符,看看结果是什么...
根本就没有循环,直接显前六个,然后跳出...why???
???
???

泾溪石险人竞慎,终岁不闻倾覆人。却是平流无石处,时时闻说有沉论。
2008-03-30 14:39
leigang1214
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-3-30
收藏
得分:0 
恩,好象是每次输一个字符
2008-03-30 15:06
DoNO1
Rank: 1
等 级:新手上路
帖 子:155
专家分:0
注 册:2008-3-27
收藏
得分:0 
没有清空内存
楼主:
    你在getchar()语句前面加上一个fflush(stdin)就OK了
2008-03-30 15:38
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
收藏
得分:0 
回复 6# 的帖子
楼主啊,不要气愤哦!!!
误解是在错难免的啊!!!

不管你输入都少个字符,因为你的循环中相当于只声明了6个变量来存储这些字符,所以只有前6个字符才能被保存下来,其余的根本没有写到内存中,输入时只是保存在内存缓冲里,没有写到内存,没哟地方放!!!!

另外,你可以检验一下,只声明一个变量,看看能不能连续输入多个字符,并且输出,看输出的是什么东西....

!!!Understand is love!!!

[[it] 本帖最后由 Ethip 于 2008-3-30 15:47 编辑 [/it]]

常昊.jpg (25.23 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-03-30 15:43
thepastboy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-8-16
收藏
得分:0 
好像连回车也算一个字符啊。8#能不能再讲明白些

2008-03-30 16:11
快速回复:大家帮我看看这句简单c语言,结果想不通阿~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015645 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved