1、} strlen(str)-1:解釋:strlen(str)字符串的長度。 -1為數(shù)組的最大下標。數(shù)組是從0開始的 J--:解釋:循環(huán)后減一,即從第一個到最后一下顛倒。
創(chuàng)新互聯(lián)建站作為成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,行業(yè)涉及茶藝設(shè)計等多個領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認可。
2、int i, j, length;cinstr;length = strlen(str); //獲取字符串長度 for(i = 0,j = length-1; i j; ++i,--j) { //左右同時向中間移動,并交換值。這樣便可以倒序。
3、(10)下面函數(shù)的功能是將一個字符串的內(nèi)容顛倒過來,請?zhí)羁铡?/p>
1、void diandao(char a[],char b[]){ int i,j=0;memset(b,0,sizeof(b));i=strlen(a);while(i0){ b[j]=a[i-1];i--,j++;} } strcat(b,a[i-1]);后面的參數(shù)是指針類型的。你這里不是指針。
2、1 輸入字符串;2 調(diào)用函數(shù)進行翻轉(zhuǎn),可以通過將對稱位置字符交換值實現(xiàn);3 輸出結(jié)果。
3、只需要將字符數(shù)組的前后數(shù)據(jù)進行交換就行了。
4、void fun(char*s){ int i,j=0,n;char t[100];//t不要和s指向同一個字符串,不然后面的賦值操作有點亂套。n=strlen(s);for(i=n-1;i=0;i--)//i==0的時候也要復(fù)制過去。
5、我的算法是原地轉(zhuǎn)置。原地轉(zhuǎn)置有個問題,就是不能對靜態(tài)存儲的字符串操作。比如char s=abcreverse(s);就會出錯。樓上的幾位的算法不是原地轉(zhuǎn)置,可以對靜態(tài)字符串操作。
1、1 輸入字符串;2 調(diào)用函數(shù)進行翻轉(zhuǎn),可以通過將對稱位置字符交換值實現(xiàn);3 輸出結(jié)果。
2、先用strrev庫函數(shù)把整個字符串倒過來,然后利用漢字編碼為負數(shù)的特點判斷為漢字的倒序連續(xù)輸出兩個字符即可達到目的。
3、編寫一個函數(shù),使輸入的一個字符串按反序存放,在主函數(shù)中輸入和輸出字符??梢栽O(shè)置一個中間值,讓兩端的字符相交換,然后前頭的向后移動一位,后頭的向前移動一位。當(dāng)前頭的變量大于中間值時。程序停止執(zhí)行。
4、反序字符串,只需要將首尾字符依次調(diào)換即可。