根据用户请求创建多个整数

时间:2013-04-13 16:20:09

标签: c numbers int declare

我最近开始学习C并且想知道是否有一种方法来声明一些整数,用户给出的值。 例如,用户输入3.我想创建3个整数,例如abc。如果用户输入5,我想创建abcde

有没有办法这样做?

3 个答案:

答案 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中的数组教程”即可。