如何输入未知长度的int型数组

     今天在qq群里面看到一个人问如何输入一个未知长度的int型数组,然后按回车结束输入。

我想了一个这样的方法,主要实现:

1 while(scanf("%d",&b))
2     {
3         array[i++] = b;
4         if ('\n' == getchar())
5         {
6             array[i] = '\0';
7             break;
8         }
9     }

每次输入后,敲空格进入输入下一个,同时空格会被getchar() 接受,然后判断是不是回车,不是回车继续输入,直到回车就break;

记得在跳出前给 数组 一个\0, 结束数组。

下面这段代码是我自己测试的:

 1 #include <stdio.h>
 2 #include <conio.h>
 3 int main()
 4 {
 5     int a = 0, i =0, b = 0; 
 6     int array[100] = {0};
 7     printf("请输入数字,按回车结束:");
 8     //实现输入
 9     while(scanf("%d",&b))
10     {
11         array[i++] = b;
12         if ('\n' == getchar())
13         {
14             array[i] = '\0';
15             break;
16         }
17     }
18     printf("你输入的数组:");
19     //打印数组内容
20     for(int j = 0; j < i; j++)
21     {
22         printf("%d",array[j]);
23     }
24     printf("\n");
25 }

 

 

 

posted on 2013-08-23 08:49  陋室铭`  阅读(2401)  评论(0)    收藏  举报

导航