| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 420 人关注过本帖
标题:数组的输入输出代码,找错
只看楼主 加入收藏
bjwpvsyou
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-10-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
数组的输入输出代码,找错
定义长度为100的字符型数组。
第一次循环检测到回车后停止循环。
然后输出该数组。
调试成功,但是运行后 键入任意字符。回车后提示该工程停止。

#include <stdio.h>

void main()
{
    char str[100];
    int i,j;
    for(i=0;str[i]!='\n';i++)
        str[i]=getchar();
    for(j=0;j<i;j++)
        printf("%c",str[j]);
   
}
搜索更多相关主题的帖子: include void 
2012-10-27 15:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
你自己看看找到str[i]=='\n'的时候,i是多少?

授人以渔,不授人以鱼。
2012-10-27 15:25
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:5 
    for(i=0;str[i]!='\n';i++)
        str[i]=getchar();

这里有问题,你str[i]都没有数据,怎么前面的判断条件里面就用了?可以修改成
str[i+1]=getchar();这样不至于死循环,不过第一个单元就用不上了。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-10-27 15:26
bjwpvsyou
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-10-27
收藏
得分:0 
回复 3楼 pauljames
#include <stdio.h>

void main()
{
    char str[100];
    int i,j;
    for(i=-1;str[i]!='\n';i++)
        str[i+1]=getchar();
for (j=0;j<=i;j++)
    printf("%c",str[j]);

   
}

问题解决。
谢谢,
但是 ,为什么for(i=0;str[i]!='\n' ;i++) str[i]=getchar()就成死循环了呢···
2012-10-27 15:48
xtjopt
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:168
注 册:2012-9-12
收藏
得分:5 
新手学到了
也顶2楼  如果你测试一下 大概就知道为什么了
for(初始值,条件,语句){循环体}
初始值->(条件成立->循环体->语句)*n->条件不成立跳出
懂了没 基础很重要

[ 本帖最后由 xtjopt 于 2012-10-27 16:04 编辑 ]
2012-10-27 15:57
枫叶飘落
Rank: 2
等 级:论坛游民
帖 子:35
专家分:66
注 册:2012-10-27
收藏
得分:5 
    for(i=0;str[i]!='\n';i++)
        str[i]=getchar();
中的str[i]!='\n'执行的并不是你刚刚输入的而是下一个你即将输入的,所以即使你输入'\n'由于i++,使str[i]变为下一个量并不是刚刚输入的,所以第一个循环检测不到'\n'即会一直循环到100,改为i<100注意输入字符时应当一次输入完后在摁回车键,

[ 本帖最后由 枫叶飘落 于 2012-10-27 16:05 编辑 ]
2012-10-27 15:59
快速回复:数组的输入输出代码,找错
数据加载中...
 
   



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

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