當前位置:首頁 » 編程語言 » 如果c語言輸出為0是什麼情況
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如果c語言輸出為0是什麼情況

發布時間: 2022-04-25 05:19:48

㈠ 初學c語言,幫我看看這個輸出結果為什麼是0

1、因為你剛開始定義a,b是int類型的,整形的。
2、所以在a進行計算的時候會將12+12.4這個算式(a=12+12.4)計算成24,計算機自動將a語句的結構保存成整數型。
3、在你將b的值賦值為浮點型的a(b=(float)a;)時,結果其實應該是24.00。
4、但是由於你並未給b改變類型,所以他還是一個整形,在你結尾時引用lf浮點型的輸出方式進行輸出時,計算機識別不出來,所以結果為零。
希望可以幫到你,如果還有什麼問題可以在下邊留言。

㈡ C語言中編譯正確,但是運行結果顯示全是0,怎麼回事啊

a=1/2×b×n,這個表達式是有問題的,1÷2求商的話,他永遠等於零,所以你的結果不管輸入什麼都是為零的。

㈢ c語言為什麼輸出是0啊

b是double類型,需要以%lf輸入。
以%d輸入, 實際會寫入double的高位元組。
導致出錯,無論輸入什麼, 實際b值為0

㈣ C語言編程設計過程中輸出結果總為0,這是為什麼

x是double,要用%lf輸入,而不是ld

#include<stdio.h>
#include<math.h>
intmain(void)
{
doublex,y;
printf("Enterx:");
scanf("%lf",&x);//%lf
if(x<0){
y=pow(x,5)+2*x+1/x;
}
else{
y=sqrt(x);
}
printf("y=%lf ",y);
return0;
}

㈤ C語言輸入的分數為什麼輸出是0

應該是字元類型的問題,
如果用變數儲存,應該用float或者double型儲存,你應該用的int或者long存的吧
如果直接寫分數,應該把其中一個數寫成小數,比如1/2
寫成
1.0/2
或者
1/2.0
,這樣是精確到1位有效數字,如果是1.00/2就是2位,依次類推

㈥ 為什麼該C語言老是輸出為0

scanf("%lf,%d,%lf", &rate, &year, &capital);

你的代碼里輸入格式是%lf,%d,%lf,中間有逗號,所以輸入的時候也要有逗號

估計你輸入的時候沒加逗號(注意是西文逗號),而是用空格分隔的,要不加逗號用空格分隔的話,就把%lf,%d,%lf中間的逗號去掉,這樣就可以用空格分隔輸入了

我試著運行了下:

年化15%,5年翻倍,沒錯

㈦ C語言程序輸出結果一直是0,怎麼辦

你的fun里的形參a是個int類型,你寫a=1.0/a,相當於把1.0/a的結果又強制轉換成了int,因為你的a肯定比1大,所以結果當然還是0,建議把a=1.0/a改成return 1.0/a,a=0改為return 0

㈧ 以下c語言 程序應該是對的,為什麼輸出結果是0呢

C語言中表示b小於a且大於c不能寫成a>b>c。要寫b<a && b>c。

按照你的寫法a>b>c相當於(a>b)>c,先看a>b得到1,再看1>c得到0。所以d是0。

㈨ C語言問題:為什麼輸出結果是0

int x=0.5,x的值是向下取整的0
0&&1得0,0&&任何數得0,不再計算後項表達式的值,稱為&&的短路運算。
因此表達式(x&&1)&&(z<'z')的值是0。

㈩ 這段c語言程序為什麼會輸出0

如果後面還有一個int s,你要求輸出s。因為你的第一個s已經賦值為0了,第二個s在循環裡面,還沒有跑完就直接輸出了,這時候輸出的是第一個s,當然是0了。至於去掉int後,s指向於剛開始你定義的int s,經過循環運算後,s就被賦值為30了。