1樓:清風無意塵事美
該語句的缺告輸出結果是 "o world"。下面是詳細的剖析過程:
1. 字串 "hello world" 的首位址為第乙個字元 'h' 的位址。
2. 在 printf 函式中,"%s" 表示輸出乙個字串,並在最後新增乙個換行符。虧卜。
3. "hello world"+4 表示將字串的首位址向後移動 4 個位元組(即 4 個字元),指向字串的第五個字元 'o' 的位址。
4. 因此,printf 函式輸出的是從位址 "hello world"+4 開始的字串,即 "o world"。
5. 最後,因為在輸出字串後新增了乙個換行符銷扮穗,所以輸出結果為 "o world" 後面跟乙個換行符。
2樓:網友
字串常量的值,本質是隻想字串首擾啟個字緩信如符的指標
所以常量"hello world"的值其實是指向了首字元h,而+4表示了後移4個字元,即第乙個字元o
所以"hello world"+4,實際是指向了"o world"
所以坦旁輸出o world
printf("%d",(1,2),3);為什麼答案是
3樓:孟羽然
小括號運算子返回的是最右邊的元素,例如:(a, b, c, d)的值是d。
所以printf("%d", (1, 2), 3);等價於printf("%d", 2, 3);
因格式字串中只有乙個輸出指示符,所以只有第乙個數被列印,也就是:2。
printf("%d",-i++),i=3.輸出值是多少?高手幫忙解答 要解釋!
4樓:星素琴福鳥
i++為字尾表示式,字尾表示式先算表示式的值再進行自增。
所以printf("%d",-i++)先輸出表示式-i的值後i再自增變為4
所以輸出結果是-3
5樓:延秀珍寸庚
printf("%d",-i++)的運算可以看為三步。
1取反得到i=-3
2輸出i的值。
3i加一,得到i=4
6樓:酆來福猶冬
-i++,意思是取i原來的值然後取反,但是i本身自加1,這條語句之後i=4.但是-i++這個表示式的值是-3.
c語言中 printf(「%f\n」,3/2); 結果為多少?
7樓:穆碧沃孤菱
運算結果是0。
這是因為3/2是乙個整型數常量表示式,整型數常量表示式有編譯器計算機執行的結果,3/2的商是1。這是編譯器計算出來的3/2這個常量表示式的值,但是printf()要輸出格式為%f,即輸出乙個單精度浮點數。在c語言中浮點數使用的是ieee754編碼,也就是說乙個32位的int型別的數1,使用ieee754編碼所表示的數值是多少的問題。
可以編寫如下**:
#include
int main()
int i = 1;
float f = float *)i;
printf("%f", f);
return 0;
執行結果與問題中的。
printf("%f",2/3)是一樣的,都為0。
要獲得正確的結果,應該對整型常量表示式進行強制型別轉換:
printf("%f", float)(3/2));
c語言printf函式
是一個算術運算子 i 相當於i i 1 或 在i前面,說明程式會先把i的值 去1之後在用printf 這個函式輸出.printf d n d n d n d n d n d n i,i,i i i i printf d n 與 d對應的一個整數 d 代表此處將有一個整型來填充,n代表換行 在你的例子...
c語言裡如何讓printf輸出中文
一般情況下,應用程式採用的字符集為gbk,gb2312,該字符集中一個漢字由兩個位元組組成,所以在普通的c語言中,漢字是按字串進行儲存和輸出的。另 還有utf8字符集,一個漢字由三個位元組組成,詳情可查閱utf8字符集 char p 張三 輸出多箇中文 printf s n p 按字串輸出完整的資料...
c語言中scanf和printf函式的問題關於雙精度
其實嚴格來說 兩個是一樣的 輸入的時候要用 lf 輸出的時候也要用 lf 的 f能輸出double 我也不懂 哈哈 你就按照 double 對應 lf 理解就可以了能輸出不影響 lf 不能輸入輸出double的時候再問也不遲 lf長浮點型,f浮點型 1f 小數點後1位 如果是 輸出printf 的輸...