为什么"for"循环不起作用并且程序停止?



当我编译程序时,它似乎可以正常工作,但当它要求"cuadrados";,程序刚刚停止:

int main(){
int *ptrs, suma=0, n, i, m;
printf("cuantos numeros al cuadrado quiere?: ");
scanf("%i", &n);
int numero[n], cubo[n];
*ptrs=numero

当程序停止时:

for(i=0;i<n;i++){
printf("escriba los cuadrados: "); 
scanf("%i", numero[i]);
}

printf("Cuantos numero al cubo quiere?: ");
scanf("%i", m);
for(i=0;i<n;i++){
printf("escriba los cubos: ");
scanf("%i", cubo[i]);
}

我以前有过这个问题,但我不明白为什么它不能继续运行;它只要求输入1个数字,然后停止,没有任何错误或警告。

for(i=0;i<n;i++){
printf("escriba los cuadrados: "); 
scanf("%i", &numero[i]);
}
printf("Cuantos numero al cubo quiere?: ");
scanf("%i", &m);
for(i=0;i<n;i++){
printf("escriba los cubos: ");
scanf("%i", &cubo[i]);
}

您需要使用&运算符在scanf中给出变量的地址

这将崩溃,因为scanf需要一个指向int的指针,而不是int:

scanf("%i", numero[i]);

这不会:

if (scanf("%i", &numero[i]) == 1) {
/* do something */
}
else {
/* scanf failed */
}

请注意,不测试scanf返回值总是会带来麻烦。As没有使用编译器的最大警告级别,并将所有警告转化为错误。

相关内容

  • 没有找到相关文章

最新更新