首次输入后运行C程序时出错

0 c

输入第一个输入后,程序关闭

#include<stdio.h>
int main(void)
{
    int biology,chemistry;
    printf("\nEnter marks for maths");
    scanf("%d",biology);
    printf("\nEnter marks for tech1");
    scanf("%d",chemistry);
    return(0);
}
Run Code Online (Sandbox Code Playgroud)

Vin*_*kla 5

C函数参数始终是"按值传递",这意味着该函数scanf只能看到您指定的任何内容的当前值的副本作为参数表达式.

如果你通过了biology,那么它只会看到一个未初始化的值.另一方面&biology是指向变量的指针值,即scanf可以使用它来修改biology.

scanf需要进行如下修改

scanf("%d", &biology);
scanf("%d", &chemistry);
Run Code Online (Sandbox Code Playgroud)

要详细了解这一点,请阅读为什么scanf需要&