在C语言中,如何扫描由用户提供的20个数字的阵列。
所需输出示例: 输入数据:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 输入的数据为:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
这是我到目前为止的循环内容:
for (i = 0; i <= 20; i++){
scanf("%d", &arry[i]);
}
但是,在循环终止之前,它一直要求21个输入。
答案 0 :(得分:1)
一切正常,除了=
。这意味着:
从
FOR-LOOP
到0
运行20
。
这意味着总共21
个值。只需删除=
,您就可以开始了:
for (i = 0; i < 20; i++)
{
scanf("%d", &arry[i]);
}
答案 1 :(得分:0)
for (i = 0; i < 20; i++){
scanf("%d", &arry[i]);
}
我们应该永远记住,当我们声明一个大小为n的数组时,会分配一个索引为0到n-1的n个元素的数组。我们不应该访问那些未分配给我们的内存位置,C不允许您这样做,您的程序可能会崩溃。尽管您的编译器可能没有给出任何错误消息。
这是一个好习惯。