| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 404 人关注过本帖
标题:一个简单的循环问题,但就是出现问题,请看:
取消只看楼主 加入收藏
Tendy
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-9-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
一个简单的循环问题,但就是出现问题,请看:
程序代码:
#include<stdio.h>
#include<stdlib.h>

main(void)
{
    int num[4];
    int j,i;

    for(j=0;j<7;j++)
    for(i=0;i<4;i++)
    {
        num[i]=getchar();
        printf("%d###",num[i]);
    }
}



很简单的循环,但是执行后会出现一个 10###,如输入1234,结果就是49###50###51###52###10###
查看ASC码表发现10表示NL为换行符
但是当输入123456789时输出为49###50###51###52###53###54###
无论定义int num[]为多长,输出均为这个,何解?
2011-09-29 22:47
Tendy
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-9-19
收藏
得分:0 
回复 2楼 A13433758072
恩,说的对!不过这个是test代码,源程序的根本问题在getchar()上,输入4位后没有清空缓存区才导致了换行符的存在。
2011-09-29 23:25
Tendy
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-9-19
收藏
得分:0 
回复 4楼 A13433758072
2011-09-30 00:27
快速回复:一个简单的循环问题,但就是出现问题,请看:
数据加载中...
 
   



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

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