2 dream  travel Dream__Travel 于 2016.04.27 19:27 提问

简单的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ㄒ)/~~

4个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.27 21: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);
    }

}
CSDNXIAON
CSDNXIAON   2016.04.27 19:32

简单的C语言程序
c语言简单程序妙解
C语言初步;简单的算法及程序;
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

fk002008
fk002008   2016.04.27 19:34

编译器问题吧
我在dev-c++中试验了没问题啊

Dream__Travel
Dream__Travel 回复diven_li:我问了一下同学, 应该是输入流中换行符的问题
大约 2 年之前 回复
hnlxw
hnlxw 回复Dream__Travel: 把数组初始化一下,试试
大约 2 年之前 回复
Dream__Travel
Dream__Travel 我也用了DEV C++ 输入数字再输入字符数组就会自动报错啊
大约 2 年之前 回复
sunny_128
sunny_128   2016.04.27 21:00

运行到哪一步出错?是不是你输入的n超过1000了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言基础:最简单的程序
        基本功无论在什么领域内都有着不容忽视的地位,想要学好编程,并将程序运动到实际当中去一定要学好基础,学好C语言基础,打下扎实的编程基本功,我们将带你走进编程的世界。        我是先完成的《C语言深处》再写的《C语言基础》。很多朋友看过了《C语言深处》后向我反映:直接看这个系列觉得很难,不好理解。并希望我能编写一个关于C语言编程基础的系列文章。所以我后来才再写的《C语言基础》,这...
简单c语言的小程序
当初自己学习c语言时候用c语言编写的简单小程序,适合初学c语言的新手参考
几个有意思的C语言程序
最近翻了一下谭浩强老师的《C程序设计》教材,顺便做了一下习题。这本书是本科时候上课的教材,因此看着它,就有一种见到老朋友的感觉。下面把我遇到的几个比较有意思的题目及程序写下来,供大家不时之需。 1.        求“Sn = a+aa+aaa+…+aa…a”之值,其中a是一个数字,n为项数,a和n均由键盘输入。   2.        输出所有的“水仙花数”。所谓“水仙花数”是
编程小白---数据库从零学起(1)
Lesson1数据绑定:实现如图所示的简单功能,两个文本框内分别显示姓名和年龄。 操作步骤如下: 1.打开VS2013建立新项目--选择WPF应用程序--在界面上拖动两个TextBox,对两个TextBox重命名为TextName及TextAge。 2.新建一个名为Person的.cs的类,在其中建立两个方法: Public  string  Name{get;set;} 及Publi
C语言学习笔记(一)—— 初识C语言并写一个简单的C语言程序
1、目标代码文件、可执行文件、库用C语言编写程序时,编写的内容被存储在文本文件中,该文件被称为源代码文件,文件以.c结尾。目标文件和可执行文件都是由机器语言指令组成的,但是目标文件只包含编译器为你编写的代码翻译的机器语言代码,可执行文件还包含你编写的程序中使用的库函数和启动代码的机器代码。2、链接器的作用将你编写的目标代码、系统的标准启动代码和库代码这3部分合并成一个文件,即可执行文件。3、在li...
查找c语言程序中基本的语法错误
/*思路寻找是否比配 1寻找的方法是什么 2.是什么时候寻找 3是找的对不对*/ #include int brace=0,brack=0,paren=0; void in_quote(int c); void in_comment(void); void search(int c); int main(void) { extern int brace,brack,paren; int
编译一个最简单的C程序
编译一个最简单的C程序创建一个目录cstudy, 创建文件 hello.c:/** * hello.c */ #include int main () { printf("Hello C\n"); return 0; } $ cd cstudy1 二阶段编译:1) 源文件(hello.c)编译(-c)成目标文件(hello.o)$ gcc -c hello.c2)目标
一个简单c语言程序框架(推荐)
一个简单c语言程序框架(推荐) 无聊,不知道干啥,想做个c程序,但时间太少,做个框架分享下 1:里面有选择的小分支,特别好,借鉴意义还是有滴 2:菜单过度返回什么的,也值得借鉴 3:里面system函数特别实用,可惜我的cmd命令不太懂,就只添加了cls清空和title头,color颜色设置 可以用system实现更多功能,请参考cmd命令 4:没了
C语言简单填空题——11.25
一、填空选择题 1、请写出 char *p 与“零值”比较的 if 语句      if (p == NULL)                         2、写出打印结果____255___  #include  #include  int main()  {     char a[1000];     int i;     for(i=0;i     {     
c语言程序简单的入门介绍c语言程序简单的入门介绍
c语言程序简单的入门介绍c语言程序简单的入门介绍