如何输入未知长度的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 }
浙公网安备 33010602011771号