| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 388 人关注过本帖
标题:为什么输出有问题呢????
只看楼主 加入收藏
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:98.26%
收藏
已结贴  问题点数:20 回复次数:1 
为什么输出有问题呢????
#include <stdio.h>
#include <stdlib.h>

#define SIZE 10

int
main()
{
    char *int_string = ( char * )malloc( sizeof( char ) * SIZE );
    int i = 0 , j =0 ;
    while( scanf( "%c" , int_string + i++ ) == 1 )
    {
        if( *( int_string + j++ ) == '0' )
            break;
        if( i > SIZE )
            int_string = ( char * )realloc( int_string , i );
        else
            int_string = ( char * )realloc( int_string , i );
    }
    puts( int_string );
    return 0;
}
在我的这个程序里为什么我输入的字符,最后在打印出来的时候却不是我输入的那些字符呢??
比如:
输入:
1
2
s
d
0

输出:
1屯屯屯????莞

这是为什么呢?
搜索更多相关主题的帖子: 输出 
2010-09-14 22:19
jdh99
Rank: 2
来 自:南师大
等 级:论坛游民
威 望:1
帖 子:59
专家分:15
注 册:2008-11-7
收藏
得分:14 
int_string指向的字符数组没有结束符,所以puts不能正常输出.puts前增加一句*(int_string + i) = '\0'再试试

作鲲鹏,遨游于天地沧海
2010-09-14 22:58
快速回复:为什么输出有问题呢????
数据加载中...
 
   



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

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