可以設(shè)置一個(gè)中間值,讓兩端的字符相交換,然后前頭的向后移動(dòng)一位,后頭的向前移動(dòng)一位。當(dāng)前頭的變量大于中間值時(shí)。程序停止執(zhí)行。
漳平網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,漳平網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為漳平1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的漳平做網(wǎng)站的公司定做!
第一,你在調(diào)用char yuan(char a)后,用什么來(lái)接受它的返回值?對(duì)吧,在主函數(shù)中根本沒有任何char組來(lái)接受它。你似乎可以將 gets(a);后的語(yǔ)句改寫成 a = yuan( a ); 然后輸出。
void fan(char *str1)并將main()中的聲明改為 void fan(char *str1);并且,fan()函數(shù)中for(i=0,j=t-1;j=0;i++,j--)中間的j = 0是賦值,不是判定,且for語(yǔ)句的中間表達(dá)式是該循環(huán),不結(jié)束的條件。
( int i=0 ;ij;++i,--j ){ char temp = src[j];src[j] = src[i];src[i] = temp;} return src;} 在主函數(shù)中輸入10個(gè)等長(zhǎng)的字符串。
首先,你的這個(gè)代碼不是實(shí)現(xiàn)逗字符串反序地,而是實(shí)現(xiàn)逗矩陣轉(zhuǎn)置地,不知你是不是復(fù)制錯(cuò)了。其次,這個(gè)代碼在實(shí)現(xiàn)逗矩陣轉(zhuǎn)置地時(shí)也會(huì)出現(xiàn)問題。
參數(shù)是調(diào)用者傳遞給被調(diào)用者的一些信息,可以是一個(gè)或者多個(gè),也可以沒有。而返回值是被調(diào)用者給調(diào)用者的信息,可以是一個(gè),或者沒有,不能是多個(gè)。
程序先從鍵盤輸入一個(gè)字符串,然后獲取字符串的長(zhǎng)度和指向字符串首尾的指針。接著,使用指針交換相應(yīng)位置上的字符,完成字符串逆序存放。最后輸出逆序存放后的字符串。
如果只是要求逆序輸出,那么可以采用類似的方法:void reverse(char *s){ if(*s==\0)return;reverse(s+1);printf(%c,*s);} 這種方法在s很長(zhǎng)的情況下會(huì)一直遞歸到底,不是很好。
對(duì)鍵盤輸入的字符串進(jìn)行逆序,逆序后的字符串仍然保留在原來(lái)的字符數(shù)組中,最后輸出。
1、reverse(s+1);printf(%c,*s);} 這種方法在s很長(zhǎng)的情況下會(huì)一直遞歸到底,不是很好。
2、即輸入1234,輸出4321,就可以采用類似的方式:void reverse_int_output(int a){ char buf[20];sprintf(buf, %d, a);//將a轉(zhuǎn)為字符串 reverse_output_str(buf);//調(diào)用剛才的函數(shù)反序輸出。
3、C語(yǔ)言中如何將中文字符倒序輸出 一個(gè)漢字占用兩個(gè)字節(jié)(擴(kuò)展ASCII碼),而getchar()每次只能讀入一個(gè)字節(jié),因此讀入漢字時(shí),則需要用gets()函數(shù)。
4、反序字符串,只需要將首尾字符依次調(diào)換即可。
5、調(diào)用下面的函數(shù)將字符串逆序,然后輸出到文件即可。