1樓:匿名使用者
第一個for迴圈抄的意思 for(初值沒有襲;t指向的變數的值 不等於 空字元 ;t指標指向下一個變數),
*(a++)=*t 按標準分開寫是 a++; *a = *t; a指向下一個變數,然後把 *t指向的變數的值 賦給 *a指向的變數
2樓:匿名使用者
t指向一字串首地址,順序取每個字元,取到結束符'\0',結束迴圈
3樓:匿名使用者
t不為空,就迴圈下去;將t給a,然後a自加
for(;*p!='\0';p++;i++) *a=*p; 和 for(;*p!='\0';p++) *(a++)=*p; c語言中一樣嗎?
4樓:擺渡人生
首選 上面的語句 多了個分號 語句 或者最後的 分號 改逗號
然後 就是按你的意思來 這兩個語句結果 是不同的
上面的a 不變 而後邊的a是自加的 肯定結果不一樣
c語言中 for (;s!='\0';s++)是什麼意思??謝謝
5樓:匿名使用者
s初始值未知,當s != '\0'時,迴圈體條件為真,需要執行迴圈,s++每次迴圈執行完成後s += 1
char型別的比較、與int操作,都會轉換成ascii碼
6樓:等等等我吃飯
s!='\0'是s迴圈的限制
c語言中while(*s++=*t++)等價於什麼?
7樓:匿名使用者
*s++=*t++//這是一個賦值語來
句,返回值是源*s++因此,bai括號裡的一定是du*s
while語句的停止條件zhi是表示式
不成立。但既dao然while判斷了表示式,那表示式的結果就會被運算一次,而每運算一次會讓*s++,*t++。也就是說,在退出迴圈的時候,s和t還加了1。
但是c選項中,只有*s不為0才會讓*s++,*t++。所以最後一次沒有加。
故答案選擇b
8樓:匿名使用者
while(*s++=*t++)
這裡實現了bai四個操作。
1 *s = *t, 即將
dus指向記憶體
zhi賦值為t指向記憶體的值
dao;
2 執行回s的自加
答操作;
3 執行t的自加操作;
4 判斷執行自加前的*s值,如果*s為0,那麼退出迴圈。
可以寫成等價的for迴圈。
for(; *s; s++, t++)
*s = *t;
9樓:劉文正粉絲
因為, c它是. 如果s指向的變數為0, 那*s, 就是假.那麼*s++=*t++就不會執行.
但是, while(*s++=*t++)它是先把t自加版後的值(不清權楚是先自加還是先取值), 然後賦給*s++, 那麼*s的值就是*t++的值了, 所以while是否迴圈取決於*t++的值.
而while(*s)它明顯是取決於*s
再看c,
do while是必然先執行的, 然後再判斷是否繼續迴圈, 所以這時*s++就等於*t++了
10樓:正在輸入密碼
請問你這道題目是在哪個平臺做的
c語言中{t=*(a+i); *(a+i)=*(a+j); *(a+j)=t;}代表什麼意思啊 謝謝了
11樓:匿名使用者
a是一個指標,a+i表示a所指位置的下i個記憶體區,a+j同理。這個程式的功能是: 交換 a+i 和 a+j 所指記憶體內區的內容,
容t是中間變數。 就好像你要交換兩瓶飲料,一瓶汽水,一瓶果汁,交換它們,要找一個空瓶子,這裡,t就是空瓶子 a+i 和 a+j 就是你要交換的兩瓶飲料,一共要倒三次,你懂了吧!
12樓:匿名使用者
交換資料。交換(a+i)所指的元素和(a+j)所指的元素的值,用的是「水桶演算法」。
13樓:匿名使用者
通過中間變數t,交換變數i和j 的值
c語言中ik0是什麼意思,C語言中i k 0是什麼意思
這是一個邏輯判斷表示式。意思是i除以k的餘數等於0是否成立,如果成立,表示式的值為1,否則為0 判斷i除k的餘數是否等於0 一般放在if裡面 就是判斷i是否能被k整除 判斷 i是否能被 k整除。判斷i除以k的餘數是否等於0,即i是否能被k整除。當i和k都是整數型的時候,是整除,是模除取餘 i k 0...
在c語言中陣列a0是什麼意思,C語言a0是什麼意思
a 0 表示陣列中的bai第一個值 du,可以把它看成一個變zhi量x,a 0 也就是陣列dao中第一個值 1再存放到原位。版比如 int a 2 其中a 0 1 a 1 5 a 0 以後權,a 0 的值變為2 陣列a的第一個元素加1,陣列a應該是數值型的沒錯吧 這個就是一個自增,陣列值的自增,就是...
c語言中,while tt0 是什麼意思
可見,tt是個字串,字串的最後一個字元是 0,通過判斷這個字元可以確定是不是到了字串尾。int i 0 while tt 0 最後可得串長i 這個需要完整的 吧?tt因該是定義的指標吧,而 0 一般指的是字串的記憶體結尾。所以這句話的意思是while判斷 tt所指的字串是不是為空,如果為空,不執行迴...