| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:输出结果的两行按理说是一样的,怎么会多出一个换行符?
取消只看楼主 加入收藏
我爱吃青菜
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:190
专家分:500
注 册:2015-3-29
结帖率:100%
收藏
 问题点数:0 回复次数:2 
输出结果的两行按理说是一样的,怎么会多出一个换行符?
#include "stdio.h"
#define STR_LEN 10

int read_line(char str[], int n);

main()
{
    int i, n;
    char str[STR_LEN+1];
    n = read_line(str, STR_LEN+1);
    for(i = 0; i <= n; i++)
    {
        printf("%c", str[i]);   
    }
    printf("asd\n");
    puts(str);
    printf("asd\n");
}

int read_line(char str[], int n)
{
    int i = 0;
    char ch;
   
    while((ch = getchar()) != '\n')
      if(i < n - 1)
        str[i++] = ch;
    str[i] = '\0';
   
    return i;
}

[ 本帖最后由 我爱吃青菜 于 2015-3-29 21:22 编辑 ]
2015-03-29 21:20
我爱吃青菜
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:190
专家分:500
注 册:2015-3-29
收藏
得分:0 
#include "stdio.h"
#define STR_LEN 10

int read_line(char str[], int n);

main()
{
    int i, n;
    char str[STR_LEN+1];
    n = read_line(str, STR_LEN+1);
    for(i = 0; i <= n; i++)
    {
        printf("%c", str[i]);   
    }
    printf("asd\n");
    puts(str);
    printf("asd\n");
}

int read_line(char str[], int n)
{
    int i = 0;
    char ch;
   
    while((ch = getchar()) != '\n')
      if(i < n - 1)
        str[i++] = ch;
    str[i] = '\0';
   
    return i;
}




复制错了,应该是这个!!!!!!
2015-03-29 21:22
我爱吃青菜
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:190
专家分:500
注 册:2015-3-29
收藏
得分:0 
回复 3楼 执笔画江山
刚学,不知这个道理,多谢指教~~
2015-03-29 21:53
快速回复:输出结果的两行按理说是一样的,怎么会多出一个换行符?
数据加载中...
 
   



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

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