| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:不明白为什么
只看楼主 加入收藏
hongwu147
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-2-2
结帖率:100%
收藏
 问题点数:0 回复次数:7 
不明白为什么
这个程序调试时出错,实在不知道为什么,请高手指点,Thank you!!
#include <stdio.h>

int main(void)
{
    char ch, a[50];
    int i = 0, j;

    printf ( "Please input strings:" );
    while ( ( ch = getchar () ) != '#' )
    {
        if ( ch != '.' )
            putchar(ch);
        else
        {
            ch = '!';
            putchar(ch);
        }
        while ( 1 )
        {
            a[i] = ch;
            i++;
        }
    }
    j = i;
    for ( i = 0; i <= j; i++ )
    {
        if ( a[i] == '!' )
        {
            a[i] = '!!';
            putchar(a[i]);
        }
        else
            putchar(a[i]);
    }
    getch();

    return 0;
}
搜索更多相关主题的帖子: include Thank 
2008-03-06 14:38
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
while ( 1 )
        {
            a[i] = ch;
            i++;
        }
看了饿一下.这里怎么跳出来啊?没仔细看

学习需要安静。。海盗要重新来过。。
2008-03-06 14:50
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
while ( 1 )
        {
            a[i] = ch;
            i++;
        }

不准备出来了???死循环

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-03-06 15:30
xfcyjhb
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-2-26
收藏
得分:0 
char ch, a[50];

 while ( 1 )
        {
            a[i] = ch;
            i++;
字符数组只有50个元素,当i自加到50以及〉50时(如果有那么多字符的话),while循环会有什么反应呢?请高手指导!

多C多智慧,将C进行到底.........
2008-03-07 12:52
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
两种可能,顺着地址向下跑.或者出错....找不到真确的出口

学习需要安静。。海盗要重新来过。。
2008-03-07 12:54
红金龙
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-11-24
收藏
得分:0 
还有一种可能,在WINXP下应该会弹出有关内存错误的对话
2008-03-07 13:05
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
[bo]以下是引用 [un]xfcyjhb[/un] 在 2008-3-7 12:52 的发言:[/bo]

char ch, a[50];

 while ( 1 )
        {
            a = ch;
            i++;
字符数组只有50个元素,当i自加到50以及〉50时(如果有那么多字符的话),while循环会有什么反应呢?请高手指导! ...


应该是顺着往下跑吧...但是跑到一定的时候出错

另外...ch没初值,能赋值给数组?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-03-07 13:53
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
没有出口, 出不来.
2008-03-07 14:01
快速回复:不明白为什么
数据加载中...
 
   



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

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