我的代码退出了代码0(0x0)

时间:2014-02-16 18:07:04

标签: c

这是最初的问题:“”十名学生参加了一个测验。这个等级 测验可供您使用。确定测验“”

上的班级平均值
int main(){
float average, total, currentnote, i;
average,total = 0;

for (i = 0; i < 10; i++){
    printf("please enter the quiz result:");
    scanf_s("%d", &currentnote);
    total = total + currentnote;
        if (i = 9){
        average = total / 10;
        printf("result equals= %f", average);
        getchar();

       }
    }
}

输入一个数字后,它会以错误退出

  The program '[3272] Project1.exe' has exited with code 0 (0x0).

有人能告诉我我的错误吗?

3 个答案:

答案 0 :(得分:2)

if (i = 9)

应该是

if (i == 9)

看看是不是问题。

答案 1 :(得分:2)

除了必须测试等同为if (i == 9)

您不能以这种方式设置两个等于公共值的变量:average, total = 0

改为average = total = 0

currentnote变量是一个浮点数 - 但scanf_s的格式标记告诉它期望int

为了明确代码中的意图,为什么这会在for循环中?为什么不把它放在for循环之后?

  if (i == 9){
  average = total / 10;
  printf("result equals= %f", average);
  getchar();
}

答案 2 :(得分:1)

您写道:

scanf_s("%d".... 

%d适用于ints,您有float 使用%f