虽然循环不起作用并使控制台崩溃
While loops not working and crashing the console
每当我在 CodeBlocks 中启动此代码时,它都会使控制台崩溃并且 returns:
Process returned -1073741819 (0xC0000005)
代码:
#include <stdio.h>
#include <stdlib.h>
main() {
int next, prev, max;
while (1) {
printf("Number: ");
scanf("%d", next);
if (next > prev) {
prev = next;
max = next;
}
if(next = 0){
break;
}
}
printf("Max number is: %d", max);
return 0;
}
改变
scanf("%d", next);
至
scanf("%d", &next); // note & operator
%d
说明符期望相应的参数是类型 int *
的表达式 - 即指向 int
的指针。您正在传递存储在 next
中的(未初始化、不确定的)value,这几乎肯定不是有效的指针值。
每当我在 CodeBlocks 中启动此代码时,它都会使控制台崩溃并且 returns:
Process returned -1073741819 (0xC0000005)
代码:
#include <stdio.h>
#include <stdlib.h>
main() {
int next, prev, max;
while (1) {
printf("Number: ");
scanf("%d", next);
if (next > prev) {
prev = next;
max = next;
}
if(next = 0){
break;
}
}
printf("Max number is: %d", max);
return 0;
}
改变
scanf("%d", next);
至
scanf("%d", &next); // note & operator
%d
说明符期望相应的参数是类型 int *
的表达式 - 即指向 int
的指针。您正在传递存储在 next
中的(未初始化、不确定的)value,这几乎肯定不是有效的指针值。