1樓:yx陳子昂
a[i++]是利用i++先取值後自加的特性,把迴圈變數i的自加整合到乙個語句裡面
拆開看就是 a[i] != '\0'; i=i+1; 這兩條語句。
這個迴圈就是把a 裡面沒有小寫字母轉換成大寫字母。
2樓:最大的寶寶
陣列a存放的是源字串,也就是使用者輸入的,待處理的串。b用於存放轉換後的xf。轉換時,用whilde迴圈對a的每乙個元素依次作出判斷,結果存放在b[i]。
a[i++]是兩個運算的組合,一是a[i],二是i++,這麼寫比較簡潔。所以源**中用a[i] != '\0'判斷沒有到達字串尾後,再i++以處理下乙個字元。
如果a[i]已經到了串尾,這個while迴圈也就結束了,於是繼續後面的printf。
3樓:果糖並不吃甜
首先,要先知道陣列的一些基礎知識,比如這段程式中的a[20],是乙個長度為20位元組的字元陣列,a[0]就是這個陣列中存放的第乙個字元,a[1]是第二個,a[ i ]是第i+1個。
這個do...while做的事情就是,從a陣列的第乙個字元開始,到最後乙個字元結束,判斷各個字元是否是小寫字母,如果是小寫字母,就把它變為相應的大寫字母。
i一開始定義為0,那麼第一次迴圈,a[i]就是a[0],迴圈內操作結束後,判斷a[0]的下乙個字元是否等於\0,如果是就跳出迴圈,如果不是就繼續,a[i++]相當於a[i=i+1],經過這一步,i變為1,再次進入迴圈,對a[1]進行迴圈內操作。
4樓:阿四哥
c語言字串的學習,輸入指定字串,並且計算字串的位數
c語言問題,求詳細解答,謝謝
5樓:
break就是跳出一層迴圈,如果你在三層他就跳到二層,二層就跳到一層;
continue不跳出迴圈,而是如果你在乙個迴圈的第i次中遇到了乙個continue,他就不管continue後面的語句,直接執行第i+1次迴圈,還是這一層迴圈。
6樓:
個人理解
break:跳出當前所在迴圈體(指的是for\while語句乙個整套迴圈結構)
continue: 結束本次迴圈,不跳出當前迴圈體,繼續下次迴圈b、break語句只能跳出最內層迴圈 其實說的就是迴圈體的意思 自己懂了意思最好
c語言問題求詳細解答,謝謝 25
7樓:穆詩
能正確編譯和執行了,不知可達到你要求,望採納!
#include
#include
#include
#define n 100
void printarray(int a,int n)void main(void)
{int a[n];
int i;
srand(time(null)); //initialize pseudo number seed
for (i=0; i
c語言題目求詳細解答 表示式~0x13的值是 a.0xffec b.0xff71 c.0xff68 d.0xff17
8樓:匿名使用者
0x是16進製制的數字
0x13換算成二進位制數是:10011
把10011補齊是:0000 0000 0001 0011然後按位取反是:1111 1111 1110 1100(呵呵,按位取反就是同一位上的0變1,1變0)
換算成16進製制: f f e c
所以:選擇 a
9樓:倒霉熊
~ 就是將 1變為0,0變為1
0x表示十六進製制
0x13 也就是 0x0013
0 0 1 3 對應的二進位制
0000 0000 0001 0011全部取反
1111 1111 1110 1100也就是f f e c答案是 a
10樓:匿名使用者
0x13=0000 0000 0001 0011b~0x13=1111 1111 1110 1100b=0xffec因此選a
按位取反運算子就是把每乙個二進位制位取反!
11樓:一公尺陽光鮑
0x13=0000 0000 0001 0011;
取反後 1111 1111 1110 1100;
=0xec;
取反,0變1,1變0.用多了就會了。
c語言問題,結果為什麼是一樣的?求詳細解答。
12樓:匿名使用者
#include
#define max 10
int a[max],i;
void sub1();
void sub2();
void sub3();
int main()
// 函式內變數填值 0 1 2 3 4
void sub2()
{int a[max],i,max;
max=5;
for(i=0;i
**給你注釋了, sub3 一直輸出的都是 全域性變數a陣列裡面的值
C語言初學者問題,C語言初學者問題
參考 如下 include int sum int a,int n int main include int sum int a,int n int main include int sum int n1,int n2,int n3,int n4 void main 首先你寫的就有點問題,給你解釋下...
c語言程式設計問題(初學者),C語言程式設計問題(初學者)
1 輸出字元型,並且希望顯示為字元,就用c,如果希望顯示的是數字,則用d,他們的對應關係可以檢視ascii表,2 int和char的大小不同,char 只1個位元組,int為4個位元組,也就是char 只有256個字元,而int則有2的32次方個數。表示的範圍是不同的 3 a和101的關係可以檢視a...
c語言的字串宣告問題,C語言的字串宣告問題
簡單說一下 字串陣列是用來存放字串的陣列,在記憶體中佔一段連續的單元。所佔記憶體存放的是字串。定義方法為 char a n n為常量表示式,可初始化。字元指標是指向字元的指標,所佔記憶體單元存放的是所指字元的記憶體單元。定義方法為 char p 完整的解答 1 字元陣列由若干個元素組成,每個元素中放...
C語言關於字串的問題,C語言關於字串的乙個問題。。
你函式的功能是去處非字母字元,也就是刪除空格個!應該輸出itis 字串是自動加上結束識別符號的 0 遇到這個停止,但是輸出列印出來螢幕上看不到 暈,其實很簡單,因為空格就是空格符不是終止符號 0 c為從輸入的資料中取出的乙個字元,不應該是字串。比較是通過ascii編碼比較的。a z對應的ascii編...
C語言字串陣列的問題,C語言字串陣列的問題
scanf 輸入時不能讀取空格鍵的,所以a儲存的是123,b儲存的是456,當然由於你是用 s輸入的,會自動在123後面加上 0 0是乙個字串的結尾 printf s n s n a i b i 這句只會輸出null int a max b max 這兩個整形陣列儲存的全是0,int的 0轉化為字元...