1樓:匿名使用者
正式程式和非正式程式的區別: p++執行的位置, 正式程式寫明是在printf語句之後執行, 註釋程式是在while判斷之後進行
本來printf要輸出的*p是while迴圈條件判斷的那個, 但註釋程式在判斷後將p指標進行了增1處理,導致printf輸出的是應當輸出的後面一個數
2樓:匿名使用者
//指標越界訪問到的記憶體單元中儲存的資料,轉成int型別就是螢幕上列印的那串。
//直到指標讀到,內容為0的記憶體單元,你的程式才會停下來。就比如你輸出的結果。
//正確的做法
static void show(int *p,int length)
}int main(void) ;
show(a,sizeof(a)/sizeof(int));
exit(0);
}因為你操作的是int型別的資料讀,如果中間有0,讀到*p=0就會終止執行
【0c語言中代表false】
3樓:
while(p++ sum+=*p; 不對,如果改成下面的就正確,但我想不通為什麼// 要注意p先 4樓:務凱樂 水莽草由佳木導演,趙大年編劇,雷漢、湯蓓瑾主演,1集(劇情簡介據劇本) c語言程式設計題 while(*p!=0) p++; p--; 遇到的問題是, while(* 5樓: 你變數p是什麼資料型別? while迴圈體加上{},否則容易分不清。 p++與printf(%c,*p)**好像有錯! c語言中關於while和++符號的問題 6樓:有錢買不起房子 while(p++ sum+=*p; 不對,如果改成下面的就正確,但我想不通為什麼// 要注意p先 7樓:匿名使用者 while(i++<5) 這裡不是整個while執行完才自增的,是while()括號裡的條件判斷完,不管值是真是假,i都自增,如果括號裡的值為真,就執行大括號裡的語句 c語言中while(p)和while(*p)有何區別? 8樓:夜禮服假面 while(p) 等價於copywhile(p !=0) 檢查的是p值是bai不是0,或者是不是空指標,如du果是,則跳出迴圈,不再zhi 繼續dao迴圈體 而while(*p) 相當於while( *p != 0) 檢查的是p所指向的地址中的資料是否為0,但前提是p不能為null 9樓:匿名使用者 p是變數(如整型),*p是指標變數。當p大於0時執行while(p)裡的程式,當*p不為0地址或0值時執行while(*p)裡的程式。 10樓:尼瑪真響亮 得看p是啥型別。。。 11樓:匿名使用者 while(p)中的p是一個變數; while(*p)中的p是一個指標變數;*p意思是取出該指標所指地址中的值出來 c語言,它這題,while迴圈的p<a+n是不是有點問題呢? 假設n是5個數,那麼p<a+n,陣列 12樓:匿名使用者 p指向最後一個數,要再判斷,這時不符合條件了 13樓: 當q指向4下標時仍然滿足q
c語言 請分別用for迴圈,while迴圈和函式呼叫三種方法來實現求n! 14樓:匿名使用者 1#include #include int main() printf("s = %d\n",s);}2#include #include int main() 3.#include int jiecheng(int n) int main() c語言中的while(p!=null)語句,這個p指標是不是自動往後走啊,沒有++p和p++ 15樓:匿名使用者 不會自動往後走的。這種情況下一般也不會簡單地加,多半是做連結串列之類結構的遍歷,p=p->next之類的語句。 16樓:我知道你才怪 那不行吧,有沒有重新賦值p的呢? 17樓:匿名使用者 在這條語句中,p沒有變化 18樓: 就這半個迴圈語句而言是不會改變p指標的值的,你這裡只列了一個迴圈條件,並沒有列出迴圈體,這個p指標應當是在迴圈體中值發生變化。 c語言:為什麼我的程式的while(p){ p=p->next; }不能執行下去? 19樓:匿名使用者 while(p) p為指標,是地址,地址不為零,只能原地打轉。 20樓:匿名使用者 不會啊,我這裡終止了的。 21樓:匿名使用者 看不出來有什麼問題。程式提示什麼? c語言**while(*in_p!='e' && *in_p){*(out_p++)=*(in_p++);}幫我分析一下(一定要細哦)! 22樓:匿名使用者 while(*in_p!='e' && *in_p)//*in_p!=『e』表示的是in_p所指向的地址內容不是e,'e'表示字元型常量。 &&表示與運算。與運算之後的單獨的*in_p表示*in_p!=0。 23樓:匿名使用者 當in_p指標指向的內容不為e 且 該指標指向的內容不為空的時候 就將 in_p指向的內容賦給 out_p指向的儲存空間中,然後in_p 和 out_p 指標地址遞增 !!! i 0 while i 100 if a i 10 break i 與之相關的是continue,其只結束當前次的迴圈,並不跳出整個迴圈。關於while迴圈,break跳出迴圈 while迴圈普通格式 while conditiondo commanddone1234 簡化格式 while 條件 d... change 是用來控制迴圈的,整個while迴圈是將當前已經輸入的n的資料全部從小到大的排序。只有每次在迴圈裡面的有發生資料的交換,change才會被值為1,如果change為0說明陣列已經有序了,你是的只需要while n 0 這樣程式也是正確的,但是會增加很多不需要的比較,比如輸入的a j 1... 可以參考下面的 include int main return 0 輸出 12345 5 4 3 2 1 include int main printf n return 0 include main printf n c語言編寫程式 輸入一個正整數,將其逆序輸出。例如,輸入12345,輸出5432...c語言的 while中怎麼使用,C語言的 while中怎麼使用break
c 語言,while迴圈問題。裡面的變數change把我搞糊塗了,它起到了什麼作用
c語言輸入整數要求倒序輸出while語句