C語言,請問這裡的whileqp0不用加分號麼?還有它和w

時間 2021-10-17 05:09:03

1樓:

要不要分號要具體看while()後面有沒有「體」,不能一概而論。從這裡的情況看()不應該有「體」,所以()後得有分號。

在while(*q++=*p++)後加乙個分號寫成while(*q++=*p++);,二者就是等價的。

與while(*p!='\0') *q++=*p++;是不等價的:前二者把'\0'拷進了q所指的陣列,且使q和p都指向了'\0'後面的乙個元素,而while(*p!

='\0') *q++=*p++;並沒有把'\0'拷貝進去,使q和p都指向了'\0'。

2樓:張未來

不用加分號的,while裡面的是乙個迴圈判斷語句,也就是乙個布林表示式,不需要加分號,另外你說的內幾個表示式都是不等價的,比如int a = 3; ++a和a++是不一樣的,在乙個語句中,++a是先自加,再參與計算,a++是先將a參與計算,語句結束後再將a自加。

3樓:聽不清啊

這裡的while((*q++=*p++)!='\0')是漏了分號,應該是while((*q++=*p++)!='\0');

下面的也是這樣,漏了分號。

while((*q++=*p++)!='\0') ;它和while(*q++=*p++);等價。

比 while(*p!='\0') *q++=*p++;的最後會多複製乙個'\0'。

while(*p!='\0') { n++; p++;這裡的n++是什麼意思

c語言中,對字串的操作,while(*p)和while(*p!='\0')的作用是一樣的嗎???

4樓:水鄉判官

呵呵,是一樣的...while語句的括號裡面是迴圈條件,只有真假之分...p是指標型別變數...而『\0』代表的就是指標型別的零值...

5樓:匿名使用者

作用一樣,但是可讀性不一樣

while(*p) :程式設計師只關心*p為真還是假,或者*p是否為0

while(*p!='\0'):程式設計師會預設把*p看成是乙個字元,p是個字元指標

6樓:匿名使用者

一樣吧,不過感覺*p比較好理解一些,呵呵,可能是比較習慣c++的原因吧

求問c語言這句是什麼意思?急! for(q=a;*q!='\0';q++) q--; 10

7樓:匿名使用者

q是字串的指標位址,

這是迴圈判斷字串指標是否結束,

如果沒有結束,就指標位址+1

8樓:戶哲茂

如果 *a!= '\0' 死迴圈

請問這裡what you are like是什麼意思?為什麼不是what you like

what u are like 這裡like是像的意思 你在生活中是像什麼樣的 what u like 這裡的like是喜歡的意思 原文並不是喜歡的意思 殺盡丶灬天下 what are you like意思是你長得像什麼 what are you like與what do you like區別 曉龍...

c語言程式設計請問這個程式中clrscr為什麼有問題

你可能和糾結,為什麼clrscr 功能沒有用,編譯器還報錯,對不?呵呵 其實,有兩個問題 1 clrscr 是在標頭檔案conio.h下的函式,原型是void clrscr void 於是,你 好像懂了 便在你原有程式的基礎上加了一個 include 但是很不幸,編譯器依然報錯,甚至發出 clrsc...

請問c語言的語句,請問乙個c語言的語句

可以理解為賦值的意思,c語言的賦值操作使用 所以,1 a的意思是 a 1 2 b的意思是 b 2 a b a的意思是 a a b 或者 a b 是c語言的乙個操作符,表示自加。b 1 b的意思是 b b 1 或者 b 或者 b 都可以。後面的問題看不太清楚。求1 2 100寫出程式來,大概是這樣子i...