我寫這說明最大輸入的數字的代碼,但運行時,它會返回一個看似隨機數,下面我的代碼:C程序不工作
#include <stdio.h>
int main() {
int largest;
int nvalue;
int no1, no2, no3;
printf("Enter value of n:");
scanf("%d\n", &nvalue);
printf ("Number1:");
scanf("%d\n", &no1);
printf("Number2:");
scanf("%d\n", &no2);
printf("Number3:");
scanf("%d\n", &no3);
largest == nvalue;
if (no1 > nvalue) {
printf ("The largest number is:%d\n", &no1); }
else if (no2 > nvalue) {
printf("The largest number is %d\n", &no2); }
else if (no3 > nvalue) {
printf("The largest number is %d\n", &no3); }
else {
printf("The largest number is %d\n", &largest); }
return 0;
}
運行,當它返回:
Enter value of n:3
3
Number1:34
Number2:89
Number3:54
你能告訴我我做錯了什麼嗎? 感謝 數量最多的是-1536115152
的%d格式printf不期望指向一個整數的指針,它期望一個整數。所以你的printf實際上是將一個指針值作爲一個整數來打印。 – sisyphus
從此鏈接學習http://www.programiz.com/c-programming/examples/largest-number-ree –
它像以前一樣返回,但'最大數字'現在是-831125744 –