| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1305 人关注过本帖
标题:新人报道,出现运行时出现下述问题涉及到c语言的哪方面知识,求大佬科普
只看楼主 加入收藏
zzqssq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-6-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
新人报道,出现运行时出现下述问题涉及到c语言的哪方面知识,求大佬科普
void main()
{
    int i;
    char str[10];
    for (i = 0; i < 10; i++)
    {
        str[i] = getchar();
    }
    printf("%s", str);
    for (i = 0; i < 10; i++)
    {
        printf("%c",str[i]);
    }
}

比如生成程序后键入abcdefghij,得到的结果是:
abcdefghij烫烫烫烫烫
abcdefghij

此程序为什么出现上述问题,这涉及到c语言的哪方面知识,为了避免以后出现类似的问题我应该了解哪些东西呢?
萌新刚入坑,求大佬解答。。。
搜索更多相关主题的帖子: 知识 c语言 
2017-06-22 10:42
zzqssq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-6-22
收藏
得分:0 
回复 楼主 zzqssq
对了,我用的是visual studio
2017-06-22 10:44
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:10 
程序代码:
#include <stdio.h>

int main( void )
{
    size_t i;
    char str[10];
    for( i=0; i!=10; ++i )
    {
        str[i] = getchar();
    }
    printf( "%.10s\n", str );
    for( i=0; i!=10; ++i )
    {
        printf( "%c", str[i] );
    }

    return 0;
}
2017-06-22 11:01
孤风逸仙
Rank: 2
等 级:论坛游民
帖 子:3
专家分:14
注 册:2017-6-18
收藏
得分:10 
在for循环后面加一句str[i]='\0'即可。。因为是字符串,所以必须以'\0'结束,否则会出现乱码
2017-06-22 11:33
zzqssq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-6-22
收藏
得分:0 
回复 4楼 孤风逸仙
明白了!谢谢大佬!
2017-06-22 11:50
快速回复:新人报道,出现运行时出现下述问题涉及到c语言的哪方面知识,求大佬科 ...
数据加载中...
 
   



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

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