Yellow_Jay 2016-04-27 11:27 采纳率: 33.3%
浏览 1406
已采纳

简单的C语言程序--小白求助

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    int N,n,i;
    char t[1000],s[1000];
    scanf("%d",&N);
    while(N--)
    {
        gets(t);
        scanf("%d",&n);
        for(i=0;i<n;i++)
        s[i] = t[i];
        s[n] = '\0';
        puts(s);
    }

}

这样写为什么程序运行的时候会出错啊/(ㄒoㄒ)/~~

  • 写回答

3条回答

  • 小灸舞 2016-04-27 13:01
    关注

    每次进入while循环的时候fflush(stdin)清空一下输入缓冲区,不然遗留的回车符会被gets读走

     #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<string.h>
    int main()
    {
        int N,n,i;
        char t[1000],s[1000];
        scanf("%d",&N);
    
        while(N--)
        {
            fflush(stdin);
            gets(t);
            scanf("%d",&n);
            for(i=0;i<n;i++)
            s[i] = t[i];
            s[n] = '\0';
            puts(s);
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决