超簡單C語言 輸出是垃圾值 為什麼不是1?

2025-07-17 02:00:20 字數 1984 閱讀 7922

c語言,誰能告訴我為什麼輸入的值和輸出的值不一樣,是軟體的問題嗎?。。。。。。。。。。。。

1樓:o老虎工作室

把scanf中"%ld.%d"中的點去掉就行了,或者在輸入資料時中間用點隔開,不要用空格隔開,這是c語言控制符的規矩。

2樓:

輸入時在兩個數之間加乙個"."——因為你在%ld和%d之間寫了個".",就不能再只用' '分開了。

哪位大神幫忙看一下這c語言**,money最後為什麼是垃圾值?

3樓:網友

scanf ("%d",&money);

d是針對int,double是%lf吧。

補充。scanf ("%f",&money);還是不對吧是lfps:學下斷點除錯很容易就能發現問題,

4樓:葉雨蔭城

money是double型別值,printf時格式控制必須為%f。

c語言:請問這道題為啥是輸出-1,為啥不是0,不是從右向左計算實參的值麼?難道i+1的值還是返回

5樓:聽不清啊

p=f(i,i+1)中,括號內不是逗號表示式,而是乙個形參表,把i的值傳給a,把i+1的值傳給b

呼叫函式f時,a=2,b=3.

第一次判斷,2>3不成立。

else if(2==3)不成立,else c=-1.

所以函式值就是-1

6樓:橙色風暴

i+1不對i賦值,i還是等於2

i才先賦值,再計算。

超簡單的c語言

7樓:網友

#include

int main()

while(!(x));

第一次執行,x=1, 相當於1-1,即x等於0,執行條件是 while(!0),而0的邏輯非運算等於1,所以要進行第二次迴圈。

第一次執行,x=-2,相當於-2-1,即x等於-3,執行條件是 while(!(3)),而-3的邏輯非運算等於0,所以結束迴圈。

printf("%3d",x);//最後輸出x的值,此時 x的值為 -3

return 0;}

8樓:聽不清啊

第一次迴圈:

輸出 1判斷時,x先變為0,然後!0的值為1,繼續迴圈。

第二次迴圈:

輸出 -2判斷時,x先變為-3,然後!(-3)的值為0,退出迴圈。

程式結束前再輸出一次,輸出 -3

9樓:華俄認證

首先do{}while();這個判斷語句 代表先執行一次do裡面的迴圈,再用while判斷符合就繼續do{}不符合就跳出迴圈,所以一開始x=3,x-=2即x=x-2;使x=1並輸出1;然後執行了while(!(x))判斷條件;

x表示x先自減1,然後賦值給x因此x之前為1,自減1之後x就是0;

由於0為假,1為真;

所以while判斷while(!0)為真;再次do迴圈,x=0-2=-2;

再次判斷時x=-2自減1等於-3

while(!-3)肯定為假跳出迴圈,之後輸出x=-3;

while(!(x))這個語句代表了while(!0)等於while(1)為真,繼續迴圈。

while(!-3)等於while(0)為假,跳出迴圈。

c語言問題 為什麼輸出值為超出範圍了呢 求教大神 這就是乙個簡單的分數相加問題

10樓:聽不清啊

#include

int main()

float e=(a)/(b*;

float f=(c)/(d*;

float sum=e+f;

printf("分數相加的結果是%.4f+%.4f=%.4f",e,f,sum);

return 0;}

c語言為什麼輸出的值一直是,c語言為什麼輸出的值一直是

default這個加上,還有個就是精度問題 include int main printf g n y return 0 c語言輸出的值永遠是0.000000000000000 順序流程問題。一開始你沒給a b c d賦值就執行d a b c。此時d的結果是垃圾值。然後你接下來用鍵盤給a b c賦值...

C語言做的簡單程式設計,為什麼輸出結果一直是0

c語言做的簡單程式設計,為什麼輸出結果一直是 scanf lf lf r,h 是小寫的字母l,不是i 額,這種錯誤還是少範的好,樓上已經給出了答案,便不再說了。c語言程式設計中,為什麼執行結果總是為.最後一句。printf lf,lf x,x 改為 printf lf,lf x,x 為取位址符,用在scan...

C語言輸出整型時為什麼有時會輸出負數

可以把 貼出來嗎 樓主,我沒有出現你的情況 我用的是你的 運用wintc編譯,如下 include stdio.h main 輸入4 7,輸出為4,7 沒有出現溢位現象 溢位了吧,用unsigned int試試。整型的範圍是 127 128 在c語言中將乙個很大的正整數賦值給乙個int型別變數a,輸...