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, 比如4&&5=1 0&&4=0 0&&0=0 !0&&4=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語言輸出為,為什麼C語言輸出為
你的題目不知道是什麼意思,只是改正了語法錯誤,現在能執行了,不知是否可以?include 此行有改動 intmain printf s lf th lf s,h return0 你還把printf達成了print 我第一次見先列印再計算還問為什麼,你沒學c吧,為了考2級?因為你把這兩句的順序寫反了,...
c語言的輸出問題,乙個C語言的輸出問題
輸入必須按語句scanf d d d x,y,z 中的 d d d 形式輸入,三個數之間沒有任何分隔符,而題目輸入時有逗號,所以輸出值不確定 看好了,程式裡面是這麼輸入的 scanf d d d x,y,z 而你執行程式的時候,輸入資料格式是 25,13,10 這裡面逗號是關鍵,如果你的輸入是 25...
c語言輸出的最後總是以“0”結尾是為什麼
應該是 0吧!作為結束符用的 你的程式寫的有問題,我重新改下,測試通過。你的程式主是由於對scanf函式對字串的輸入接收理解不正確。你的 for i 0 i 2 i scanf s,s,c,d sa i name,sa i num,sa i sa i age 我更改後的 for i 0 i 2 i ...