虽然循环不起作用并使控制台崩溃

时间:2018-02-23 22:43:31

标签: c while-loop crash crash-reports

每当我在CodeBlocks中启动此代码时,它会崩溃控制台并返回:

  

处理返回-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;
}

1 个答案:

答案 0 :(得分:0)

更改

scanf("%d", next);

scanf("%d", &next); // note & operator

%d说明符期望相应的参数是类型int *的表达式 - 即指向int的指针。您正在传递next中存储的(未初始化的,不确定的),这几乎肯定不是有效的指针值。