C中的输入和输出

时间:2011-10-19 12:34:35

标签: c input io

如何从输入中获取一些未知数量的整数并在控制台上显示它们?

值的数量将通过控制台提供。

4 个答案:

答案 0 :(得分:2)

主要的原型是: 主要(无效)或 main(int argc,char * argv []);

这是程序的命令行参数 你可以用这些东西来迭代它们

  int i = 0;
    for (i=0; i < argc; i++) {
         printf("%s" argv[i]);
}

未经测试,但应该足以让你前进。

答案 1 :(得分:0)

您可以使用malloc为数字动态分配内存。

int count=0;
scanf("%d",&count);
int* numbers=malloc(sizeof(int)*count);
//take integers from input here
free(numbers);

答案 2 :(得分:0)

通常你的主要方法应该是这样的

int main(int argc, char** argv)

当你运行你的程序时,你会提供一些参数,比如n个数字,所以你总共会得到n + 1个参数(回想一下你的程序名是参数0!)。因此你可以做类似的事情:

int* array = malloc(sizeof(int) * (argc-1));
int i;
for (i = 0; i < argc-1; i++) {
    array[i] = atoi(argv[i+1]);
}

然后你可以这样做:

for (i = 0; i < argc-1; i++) {
    printf("%d ", array[i]);
}

抱歉,如果有任何语法错误

希望这会有所帮助

答案 3 :(得分:0)

随时随地打印(忽略第一个:数字的数量)

int main(void) {
    <READ_NUMBER>; // and promptly ignore it
    while (<READ_NUMBER>) {
        printf(<PRINT_NUMBER_JUST_READ>);
    }
    return 0;
}