1樓:匿名使用者
%d的名字叫做格式說明符.
格式說明符由兩部分組成,前面是%號
後面是一個小寫字母
不同的格式說明符代表不同的輸出格式,
這裡,前面這個%d就是將對應的變數c以整數形式輸出.
後面這個%d就是將對應的變數d以整數形式輸出.
%f是浮點數格式,
也就是將變數以小數點的形式輸出,
比如c=1;
printf("%f",c);
那螢幕上就會顯示1.000000(浮點數預設小數點後6位)還有%p代表指標,
%c代表字元等等
小兄弟你多看看書好不好?
問出這麼搞笑的問題...
2樓:
%d表示資料的輸出型別為整型,如1 2 3 4 5都是整型的資料%f表示資料的輸出型別為浮點型,如1.1 2.6 3.6都是浮點型的 資料
a+u=%d (這個%d是後面你要輸出的c的資料型別) 也就是a+u=c
b+u=%d (這個%d是後面你要輸出的d的資料型別) 也就是b+u=d
3樓:你好問吧
格式控制,控制後面的輸出項以什麼型別輸出的
你上面定義 c d 是int 型別的,所以輸出用%d
如果定義成單精度或雙精度的就用%f
4樓:匿名使用者
%d是輸出整型
%f是輸出浮點型
5樓:
鬱悶,你是學c的嗎?好好看書!
%d是輸出數字的ok
%c是輸出字元的ok
%s是輸出字串ok
c語言輸出問題?
6樓:聽不清啊
因為c語言的格式輸出,它具有自動「四捨五入」的功能的。
7樓:lf心似煙
因為你是輸出的%9.3f
c語言的輸出問題?
8樓:自我程式設計
(a+b,b+c,c+a)是逗號表示式,從左往右順序執行,最後返回最右邊的表示式,也就是c+a。所以傳遞給函式第一個實參是4,第二個實參是9(d+e)。所以最後函式返回的是13。
9樓:匿名使用者
func函式只有兩個引數
第一個引數是逗號表示式,逗號表示式的值由最末項決定,所以是c+a,即4
第二個引數是d+e,即9
顯然結果是4+9,13
關於c語言的輸出問題?
10樓:
由於char型別比int型別級別低,c規定不同型別表示式的結果取較高階的型別,常數整數被預設是int型,所以a-1的型別是int型,因此輸出按int型別處理;a-1是8個1,最高位是1,輸出時被解釋為負數,用1在左側擴充套件到32位,它就是-1。而a = a-1的等號右側同樣是int型,但左側是unsigned char型,賦值規則規定要將右側的型別轉換為左側型別賦給左側變數,那麼結果是unsigned char型,儘管也是8個1,最高位也是1,但因按「無符號」型對待,所以輸出時用0擴充套件到32位,結果就是255。你可以做個試驗,把第一個**的printf("%d",a-1);改成printf("%d",a=a-1);輸出肯定也是255,。
這裡的關鍵是輸出是用%d控制的,它是對應int型的,就要看對原變數按無符號型擴充套件還是按有符號型擴充套件了。
11樓:夏天的小紅花
為何第一種形式的**輸出結果不是255而是-1?
這是因為a-1時,是兩個不同型別的量做減法,系統自動把unsigned char轉換為現多位數的int,進行相減。結果當然是-1。
而第二種形式的輸出結果就是255,這是因為系統把-1賦值給一個unsigned char時,因-1的機器碼是32位二進位制1,所以,它只把8位的二進位制1賦給a,而a是一個unsigned char,它的表示範圍為0~255,所以,在unsigned char的解釋下,8位二進位制數11111111就是十進位制255了。
12樓:匿名使用者
char是8位的資料型別,0再減1就是0xff,如果是無符號數它就表示255,有符號就是-1,你形式中中直接以%d輸出當然結果就是-1,形式二中是將它賦值給了unsigned char,再輸出,結果就是255,當然如果你在
c語言輸出問題
13樓:
我在你**的基礎上,稍微改了點,你看下,是否就是輸出你想要的#include
main ()}
14樓:聽不清啊
程式中少了幾個變數的宣告。
輸出的不是從0到1000,這是因為你把step的值定為了50的緣故啊。
下面是把step改為了10的執行結果:
#include
main ()}
15樓:兄弟連教育北京總校
標準c語言庫函式fprintf/printf格式字串的轉換說明形式是這樣的:
%[標誌][最小輸出寬度][.精度][長度修正符]型別
方括號括起來是可選項。
標誌是0或多個標誌字元,可以是任意順序,常用有以下幾個:
- 左對齊,預設是右對齊。
+ 帶符號的值前面總是有個符號,也就是正數前面有+號,負數前面有-號。
0 輸出值的寬度小於最小寬度的話,用0填充,預設是用空格填充。
最小輸出寬度是10進位制整數常量,開頭不能是0,不然變成上面的0標誌了。如果輸出的值小於這個寬度,根據上面的對齊標誌決定左對齊還是右對齊,剩下的用填充字元填充,預設是空格,用0標誌指定的話是0。
精度一般是小數點後面跟1個十進位制數,對於整型,表示要輸出的最少位數,不足的話前面會補0,對於小數,表示小數點後面輸出幾位小數。
長度修正符修正後面型別的輸出長度。l表示long或unsigned long,ll表示long long int或unsigned long long int,h表示short或unsigned short,hh表示為char或unsigned char,l表示long double。
最後的型別就是常見的d,o,x,f,c,s一類的。
所以printf("%-0.4d",m)表示的是左對齊,0填充,保留小數點後4位。
1.保留n位有效數值用 %.n
2.既要表示數值間距n個字元,同時又要保留數值m位有效數值用%n.m
關於c語言輸出問題
c語言輸出問題。
16樓:匿名使用者
char outp[100];
在子函式裡面定義,雖然指標返回了
但是函式返回的時候就釋放記憶體了
17樓:
你犯了c之大忌——返回了區域性陣列的指標。能正確輸出
一、二個元素是你的運氣好,因為函式返回時,陣列已被釋放了,如果後來那裡沒有被「別人」佔居,你就能輸出正確資料來;若被」別人「改寫了,你一個正確的也得不到了。一句話,那裡已不是你的**所能正確控制的空間了。你應該把陣列安排在主函式裡或宣告為全域性陣列,而把它的指標傳給函式去處理其中的元素才對。
c語言輸出問題
18樓:匿名使用者
① :要知道字元型資料最終儲存到計算機中是以二進位制形式存放的,而這個二進位制就是該字元的ascll碼,因此當然可以把字元和數字互相賦值,但是要注意一下賦值範圍,例如你定義sc為有符號的char型,那麼你只可以把-128-127之間的整數賦給sc,如果超過了就會發生溢位錯誤,得不到想要的結果。
② :要知道螢幕列印輸出和紙張列印(即在印表機輸出)的區別,當你在螢幕輸出時,你使用\b符號,它表示退一格,那麼\b後面的一個字元就會把前面的替換掉,而用印表機輸出時,儘管退格了,但是\b後面的字元只是重疊在被掩蓋的字元上面,原來的那個字元還保留,但是與\b後面的一個字元重疊顯示。
19樓:匿名使用者
賦值127沒錯,但是結果是溢位後的結果
\t是製表符 \r是退行 當然不一樣了
\" 中的\是轉義用的,也就是把他後面的"當字元列印
20樓:昌雨文
有符號的signed的型別的取值範圍是-128~127,當然可以取到127了。
輸出結果為:
127abcefg (\b是退格的轉義字元)
abc def (\t 游標表示向前移動四格或八格,可以在編譯器裡設定)
abcdef(一個回車符)hij
abc"def"hij
21樓:匿名使用者
#include
int main()
22樓:匿名使用者
127代表+127,所以可以賦值。至於下面的問題,自己去查查轉義字元方面的知識,轉義字元使用率也算頗高。
C 序輸出問題,C語言反序輸出問題
這麼給你說吧。string arr new string hello word 你這個是對的,但是你想倒序輸出的時候就有問題了。你這個沒必要用字串陣列,字串也有索引的。string arr hello word for int i i 0 i 這個是在vs2008裡的語法,你用的response...
再問c語言問題,是關於指標的反序輸出問題的。答案是
1次 p不空 執行f p 1 1.printf c p 壓棧 堆疊情況 printf c p 壓棧 p 1 2次 p不空 執行f p 1 2.printf c p 壓棧 堆疊情況 2.printf c p p 3 1.printf c p p 1 3 次 p不空 執行f p 1 3.printf c...
c語言指標輸出,C語言指標輸出 char str 2 printf c n , str printf x n , str printf x n ,str
在char str 2 中,str指向了字元 2 的地址,str的記憶體中裝的是字元 2 的地址,但自己也有一個地址,它的地址就是 str。getmemory str 傳入的是指標str自己的記憶體地址,而非它指向的地址 getmemory str 傳入的是指標str指向的地址,而非它自己的地址 首...