c語言中,這道題的輸出結果為什麼是70呢

時間 2021-10-17 05:14:05

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 ...