无论我改变什么,C程序输出相同的数字

时间:2018-05-16 21:21:37

标签: c

所以我有一个奇怪的问题,无论.c文件,编译器,IDE或我改变输出的内容每次都是相同的。起初我正在为我的班级编写一个简单的程序,

#include <stdio.h>

int main () {

    int n1, n2, res;
    printf("Enter two numbers to divide.\n");
    scanf("%d", &n1);
    scanf("%d", &n2);

    res = n1/n2;

    if (n2 == 0) {

        printf("You cannot divide by 0!\n");

    } else {

        printf("Result: %d", &res);
        printf("\n");

    }

    system("PAUSE");
}

我的结果总是等于数字6422276。 我尝试创建一个新文件,只需将两个整数分别初始化为12,并告诉编译器将它们一起添加。输出等于6422276

我该怎么办?

3 个答案:

答案 0 :(得分:7)

您正在打印变量的地址

printf("Result: %d", &res);

要打印出值,只需执行

printf("Result: %d", res);

答案 1 :(得分:1)

不要使用&amp; :

printf("Result: %d", &res);

写:

printf("Result: %d", res);

答案 2 :(得分:0)

正如其他人所说,你在打印地址。

然而还有另一个错误:你应该在分割之前检查分母是不是0,否则它没有任何意义。

包括

int main(){

int n1, n2, res;
printf("Enter two numbers to divide.\n");
scanf("%d", &n1);
scanf("%d", &n2);

if (n2 == 0) {

    printf("You cannot divide by 0!\n");

} else {
    res = n1/n2;
    printf("Result: %d", res);
    printf("\n");

}

system("PAUSE");

}