C語言為什麼輸出的是7 0啊,C語言 7 0,為什麼

2021-08-08 16:13:29 字數 2204 閱讀 8143

1樓:匿名使用者

字元 hex dec

『\0' == 0x00 == 0

從數值上說上面三個是相等的

'0' == 0x30 == 48

請lz注意他們的區別

你可以這樣理解strlen()函式的實現:

int strlen( char *str )

2樓:匿名使用者

定義的x是字元型陣列名,但在c語言中字元型變數可以被賦予整形資料,字串裡遇到結束符0='\0'就會結束,不管後面是否還有字元。

3樓:風元素精靈

c語言中字串是以'\0'表示結束的,『\0』和0是相等的,因此x[0]=0等價於 x[0]='\0'

4樓:

在 c 這樣的 低階語言中 null , '\0' ,false 等 在 記憶體裡 都是 儲存 為 0x00

而在 後來的 高階語言裡, 這些 型別 是不同的,比如 vs編譯器下 vb , 這3個 值 是不一樣的

樓主 賦值語句 實際執行的結果 是:

x[0]=0x00;

x[1]=0x00;

x[2]=0x30;

x[3]='i';

x[4]='n';

x[5]='g';

x[6]=0x30;

所以 sizeof(x)=7

strlen(x))=0

5樓:細雨在微笑

你的問題是你不理解strlen這個函式的實現strlen 是計算的字串內有效字元的數目,**中應為 0.

strlen 在 習語言裡對應的中文函式是 字串長度歡迎使用 習語言(中英文c語言雙語編譯工具)

6樓:匿名使用者

你把0賦給想x了。0的ascll為null

c語言!7=0,為什麼

7樓:

c中的非0資料被定義為「邏輯真」,所以7是「真」;!是「邏輯非」運算子,「邏輯真」的非是「邏輯假」,「邏輯假」在c中規定用0表示。所以!7==0。

8樓:匿名使用者

非零值的反為零。

所以!7的值為0。

9樓:擺渡人生

非零的值均為 真

!為非 非真即假 即為0

不懂可追。。。。

10樓:猥瑣打造極品

非0值取du反是1,&&符號指的是邏輯zhi運算,兩邊的值只能是dao1或者是0,也就是說在專&&兩邊如果

屬是0,值就為0;如果非0,其值為1, 比如謝謝採納!

11樓:匿名使用者

非零值的反為零;零的反為1。

非零&&非零=1;零&&非零=0;非零&&零=0;零&&零=0。

這個c語言程式的輸出結果為什麼是7

12樓:無上陽光

遞迴嘛~

func(9) = 9 - func(7)func(7) = 7 - func(5)func(5) = 5 - func(3)func(3) = 3 - func(1)func(1) = 3;

一個個的遞迴算回去就可以了呀

func(3) = 0

func(5) = 5

func(7) = 2

func(9) = 7

所以返回7

13樓:匿名使用者

第一次. x = 9; p = 9 - func(7); func(7) = 7- func(5); func(5) = 5 - func(3); func(3) = 3 - func(1);

func(1) = 3; func(3) = 0; func(5) = 5; func(7) = 7 - 5= 2; func(9) = 9 - 2 = 7

這道c語言題的輸出結果為何不為4而是7

14樓:匿名使用者

注意case後沒有break,即跳入對應的分支後,繼續向下執行k==3時,n==0+3

k==2時,n==3+2

k==1時,n==5+1+1

c語言輸出結果是19為什麼

printf d n strlen p 是什麼dd?應該是printf d n s 吧?for i 0 i 4 i s aa i 1 對每行第2個數字求和,所以是19。aa 4 4 是一個4 x 4的矩陣i m1 m2 n 3 n 2 n 5 5 5 25 你可以把 define看成文字替換,就是在...

c語言怎麼去掉輸出的,c語言怎麼去掉輸出的

把 printf d n 10 換成 if n 10 0 printf d n 10 c語言,將double資料輸出時,如何去掉小數位多餘的0?printf g n a 這樣試一下,是不是你想要的 double a 1.001 printf lf a 會輸出1.001000,怎樣才能輸出1.001 ...

c語言a的輸出結果為什麼是 1,b的最後輸出結果為什麼是

資料在計算機中都是以補碼儲存的,a的補碼為0xffff,b的補碼為0xfffe。我這為寫著方便,用十六進位制寫,沒用二進位制寫,要不16個1看著都暈。d是按有符號整型輸出,此時認為a是個負數,根據0xffff來求該負數絕對值的原碼,為0x0001,輸出即為 1。u是按無符號型資料輸出,此時將b看作正...