如何运行此代码?

时间:2016-09-12 03:10:42

标签: c

我似乎无法在我的代码中找到问题。似乎一切都很好。我应该输出产品和两个整数的总和。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

main() {


int number1, number2, productResult, sumResult;

printf("Enter first number: ");
scanf("%i", &number1);
productResult = number1 * number2;

printf("Enter second number: ");
scanf("%i", &number2);
sumResult = number1 + number2;

printf("The product is: %i \n", productResult);
printf("The sum is:s %i \n", sumResult);

system("pause");
} // end of main

4 个答案:

答案 0 :(得分:1)

我鼓励您获得更好的编译器或收听编译器的警告:

blah.c:5:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main() {
^
blah.c:10:31: warning: variable 'number2' is uninitialized when used here [-Wuninitialized]
    productResult = number1 * number2;
                              ^~~~~~~
blah.c:6:25: note: initialize the variable 'number2' to silence this warning
    int number1, number2, productResult, sumResult;
                        ^
                         = 0
2 warnings generated.

在您询问用户的内容之前,您正在使用number2

答案 1 :(得分:0)

您在定义第二个数字之前计算产品。首先获取输入,然后进行计算:

int number1, number2, productResult, sumResult;

printf("Enter first number: ");
scanf("%i", &number1);
printf("Enter second number: ");
scanf("%i", &number2);

productResult = number1 * number2;
sumResult = number1 + number2;

printf("The product is: %i \n", productResult);
printf("The sum is:s %i \n", sumResult);

答案 2 :(得分:0)

您在输入productResult之前计算number2。这样的错误总会导致未定义的行为(您将获得一些随机数作为number2后跟productResult的值)。

printf("Enter first number: ");
scanf("%i", &number1);
printf("Enter second number: ");
scanf("%i", &number2);
productResult = number1 * number2;
sumResult = number1 + number2;

答案 3 :(得分:-1)

你有一个错误。请试试这个。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
    int number1, number2, productResult, sumResult;
    printf("Enter first number: ");
    scanf("%i", &number1);
    printf("Enter second number: ");
    scanf("%i", &number2);
    sumResult = number1 + number2;
    productResult = number1 * number2;
    printf("The product is: %i \n", productResult);
    printf("The sum is:s %i \n", sumResult);
    return 0;
} 

测试

Enter first number: 2
Enter second number: 4
The product is: 8 
The sum is:s 6