1樓:high歌
應該是%lf。應該是scanf(「%lf",&fradius);吧%lf和%d等都是格式輸入輸出函式的引數,%lf表示第二個引數是雙精度浮點double型別的,%d表示整型int。
你上邊定義的fradius變數是double型別的,要想讓資料的值和型別都正確scanf引數必須寫成相應的格式%lf。
當然你寫成%d也能編譯通過,編譯器會幫你強制轉換,但是得到的結果就不是你想要的了。
2樓:匿名使用者
scanf(「%lf",&fradius);是從鍵盤輸入一個雙精度型別的值賦給fradius
另外就是%後跟的部分還可以是
a 讀浮點值(僅適用於 c99)
a 讀浮點值(僅適用於 c99)
c 讀單字元
d 讀十進位制整數
i 讀十進位制、八進位制、十六進位制整數
e 讀浮點數
e 讀浮點數
f 讀浮點數
f 讀浮點數(僅適用於 c99)
g 讀浮點數
g 讀浮點數
o 讀八進位制數
s 讀字串
x 讀十六進位制數
x 讀十六進位制數
p 讀指標值
n 至此已讀入值的等價字元數
u 讀無符號十進位制整數
[ ] 掃描字符集合
3樓:匿名使用者
不是 %if 是%lf 吧……lf 表示輸入(或輸出)一個雙精度浮點數,而d 表示輸入(或輸出)一個整數,因為這裡用的是double,所以一定要用%lf ,否則就會輸入(或輸出)完全錯誤的數值……
我看到一個簡單的c語言程式,但是不對,想知道**錯了
4樓:包茂高速
double 改為 float
%if (f前面為bai
大寫i)
du 改為 %lf (f前面為小寫l) 或zhi %f更改後的**dao及執行狀況:
#include
#define pai 3.14
int main()
5樓:匿名使用者
scanf中為%lf(英文讀音/ el ef / ),不是i(i的大寫)
後面用%g
一c語言程式,有個地方看不懂,大佬們幫忙解釋解釋,謝謝啦!
6樓:
不知道你說的上一次迴圈指的是i迴圈還是j迴圈。這樣說吧,每次i迴圈一開始都使k=i,而每次j迴圈都使k等於已經考察過的最小值的下標j。
我用C語言寫了很短的程式,但是,有錯誤。請高手指點
l dx dy dz int t cycling numberdouble dx double dy double dz double dx double dy double dz double l 1 limate dx dy dzdouble l float x1 float x2 float ...
簡單的c語言程式,一個簡單的c語言程式
很多程式都是非常簡單的 1.輸入2個正整數m和n,求其最大公約數和最小公倍數 include include int main 3.程式設計計算從1到10各數階乘的和,即1 2 3 9 10 的和 include int main void printf 1到10各數階乘的和 d n sum ret...
我做了非常簡單C語言的執行程式但是無法執行老提示主函式有問題但就是找不出問題在哪裡請大家指點
主函式定義為 int型,但是在主函式結束後沒有返回一個整型值,導致編譯不通過。myss函式宣告時,行末沒有新增 在system pause 後新增return 0 另外在main函式內連續使用兩個以上scanf的時候會導致輸入值錯誤。建議第一個scanf語句寫為scanf d c sa good l...