所以我有一个奇怪的问题,无论.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
。
我尝试创建一个新文件,只需将两个整数分别初始化为1
和2
,并告诉编译器将它们一起添加。输出等于6422276
。
我该怎么办?
答案 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");
}