1樓:匿名使用者
x = "string" <==> x = ;
所以sizeof (x) == 7
因為strlen 以判斷到 '\0'(也就是0)作為字串結尾標識,所以x[0]=0,導致strlen在判斷x[0]時就認為到字串末尾了,因此返回0
%d%d 列印出來就是 70
2樓:阿爾邁凡
sizeof是求變數戰勝記憶體大小的
char x="string"
記憶體中是
's' 't' 'r' 'i' 'n' 'g' 0所以大小為7
而strlen是求以0結尾的字串長度的
x[0]=0所以該字串的長度就是0了
所以輸出7 0
3樓:匿名使用者
char x="string" ; //字串string+結束符\0共7個字元,儲存到陣列x中,所以x的空間大小為7,即:sizeof(x)=7
x[0]=0; //這句導致strlen(x)結果為0,\0是字串結束符,數值上看就是0,strlen(x)從x地址開始統計,遇\0結束統計,所以,長度結果為0
4樓:劉子彈天下無敵
7是sizeof(x)的值,x中放了七個char型資料每個大小為1
0是strlen(x)的值,strlen函式是求字串的有效長度,簡單來說就是找\0或0
c語言的問題,這道題的輸出結果是多少,怎麼算的?
5樓:
argc=4
ar**[0]= proc
ar**[1]= abcd
ar**[2]= efgh
ar**[3]= ijkl
迴圈變數是argc、先減1後用。
即:4-1=3>0輸出ijkl
3-1=2大於0輸出efgh
2-1=1大於0輸出abcd
1-1=0不大於0退出迴圈
最終輸出結果:
ijklefghabcd
6樓:
ijklefghabcd——按題目的要求操作後,因為命令列有prog abcd efgh ijkl共4個字串(這是規定,命令中不得有空格),所以argc==4;而ar**中ar**[0]=="prog",ar**[1]="abcd",ar**[2]="efgh",ar**[3]="ijkl"。while(--argc) printf("%s",ar**[argc]);迴圈輸出ar**[3]、ar**[2]、ar**[1](當argc==0時迴圈終止了),且%s後沒有空格,所以得到上述結果。
c語言中,這道題要怎麼填!
7樓:叔伯老表
a[0],a[3]
p[i]取的是陣列a中元素所在的地址,可以寫成。p[i]=a+2*i。a是陣列a[6]的首地址。
加上*是指向這個地址的資料。所以*p[0] = *(a+2*0)=*a=a[0],*(p[1]+1)=*(a+2*1+1)=*(a+3)=a[3]。
一道c語言題,為什麼輸出的結果為負數?
在這個c語言程式中藍色方框中的執行語句是什麼意思?這道題的輸出結果是怎麼求出來的?
8樓:匿名使用者
把每行下標為1的元素和s相加
也就是s=s+aa[0][1]+aa[1][1]+aa[2][1]+aa[3][1]
代入後就是1+2+6+7+3==19
c語言中printfn輸出是什麼結果
printf n 是個換行,n是轉義字元,表示換行printf d a 完整應該這麼用,a是你要輸出的變數名。d是個佔位符,它為一個int型資料站位,一個printf中可以有多個佔位符。如 printf d d f x,y,z f也是佔位符,它為float型資料站位,佔位符的對應關係是順序對應的,即...
C語言中printfn 輸出是什麼結果?print
郎秀英費緞 printf n 是個換行,n是轉義字元,表示換行printf d a 完整應該這麼用,a是你要輸出的變數名。d是個佔位符,它為一個int型資料站位,一個printf中可以有多個佔位符。如 printf d d f x,y,z f也是佔位符,它為float型資料站位,佔位符的對應關係是順...
c語言題,輸入HeLLo,輸出結果為hEllO,下面是我寫的程式,編譯沒錯,但就是執行出錯,幫忙看看,改哪
這個名有人取了 get str 不是get str i strlwr的用法不對,你是每次都把整個字串輸出了你的迴圈變數從0到10,但是你的字串長度有10個嗎assii碼不對,a 是97不是90,你不記得就不要寫assii碼,直接寫str i a str i z 改正後 如下,請採納 include ...