我最近开始学习C并且想知道是否有一种方法来声明一些整数,用户给出的值。
例如,用户输入3.我想创建3个整数,例如a
,b
和c
。如果用户输入5,我想创建a
,b
,c
,d
,e
。
有没有办法这样做?
答案 0 :(得分:1)
您想创建一个数组,因为您无法声明未定义数量的单个变量。 由于您是初学者,我会给您一个完整的答案,如果您愿意,可以编译它:
#include<stdio.h>
#include<stdlib.h>
int main(){
int* arr,number,i;
printf("Give number value: ");
scanf("%d",&number);
arr = malloc(sizeof(*arr) * number); // after the comment, it safeguards the code
for(i=0;i<number;i++){
printf("%d ",i);
}
return 0;
}
arr是一个指针变量,你可以将它用作一个大小为int *你想要的变量数的数组。
答案 1 :(得分:0)
你需要的是一个整数数组。收到“count
”值后,您需要动态分配类型为“count
”的“int
”数组。
有关详细信息,请查看malloc ()
函数:http://linux.die.net/man/3/malloc
答案 2 :(得分:0)
我会让你这么容易。
您可以创建的是一个数组。数组本质上是存储在一个名称中的一系列元素。如果你不确定如何为你的例子制作/使用数组...这是一个例子。
int main (void){
int i; //counter
int totalIntegers
int arrayVariableName[100]; //array that can store any amount(100 for this case)
//of variables inside.
printf("Enter total amount of variables");
scanf("%d", &totalIntegers); //collect what the user types, pretend you type 5
for(i=0;i<totalIntegers;i++){ //this will loop 5 times from same example.
printf("enter a number: ");
scanf("%d",&arrayVariableName[i]); //will store numbers in array 0(which
// is holding the integer inside a),
// array 1(holding b), array 2(holding c)
//array 3(holding d), array 4(holding e).
}
}
使用数组和for循环,您可以设置允许用户多次打入数字的总金额。例如,如果您在5中输入7,则可以保存7个变量(a,b,c,d,e,f,g)。如果计划生成100个以上的整数,请在数组声明中更改它。有一种方法可以将限制设置为您想要的唯一数量,我上面的答案将向您展示如何,查看它以供参考。
要了解更多信息,只需使用utube搜索“c中的数组教程”即可。