C 平方时答案错误
C Wrong Answer when squaring
我正在通过示例使用 C 来学习 C。有一个问题,我们需要获取一个输入整数并将其平方并打印到屏幕上。我有一个奇怪的错误,无论我输入什么 Int 都会给我这个输出:
Please enter a number.
5
Number = 2686764 Square of Number = 2686760
这是我写的程序。
#include <stdio.h>
#include <conio.h> //for getch()
main(){
int number, square;
printf("Please enter a number. \n");
scanf("%d", &number);
square = number*number;
printf("\n Number = %d ", &number);
printf("\t Square of Number = %d", &square);
getch();
}
您的 printf
陈述不正确。在这种情况下不要使用 &
:
printf("\n Number = %d ", number);
printf("\t Square of Number = %d", square);
您正在打印 number
和 square
变量的内存地址,而不是它们的值。
试试这个:
printf("\n Number = %d ", number);
printf("\t Square of Number = %d", square);
要添加到上面的答案...看这个例子:
int number = 5;
printf(" %d\n", number); // Prints value of 'number'.
printf(" %p\n", &number); // Prints address of 'number'.
printf(" %d\n", *(&number)); // Prints value at address of 'number' ...
我正在通过示例使用 C 来学习 C。有一个问题,我们需要获取一个输入整数并将其平方并打印到屏幕上。我有一个奇怪的错误,无论我输入什么 Int 都会给我这个输出:
Please enter a number.
5
Number = 2686764 Square of Number = 2686760
这是我写的程序。
#include <stdio.h>
#include <conio.h> //for getch()
main(){
int number, square;
printf("Please enter a number. \n");
scanf("%d", &number);
square = number*number;
printf("\n Number = %d ", &number);
printf("\t Square of Number = %d", &square);
getch();
}
您的 printf
陈述不正确。在这种情况下不要使用 &
:
printf("\n Number = %d ", number);
printf("\t Square of Number = %d", square);
您正在打印 number
和 square
变量的内存地址,而不是它们的值。
试试这个:
printf("\n Number = %d ", number);
printf("\t Square of Number = %d", square);
要添加到上面的答案...看这个例子:
int number = 5;
printf(" %d\n", number); // Prints value of 'number'.
printf(" %p\n", &number); // Prints address of 'number'.
printf(" %d\n", *(&number)); // Prints value at address of 'number' ...