方法:用2個(gè)指針?lè)謩e指向數(shù)組的頭和尾,然后循環(huán)讓兩個(gè)指針往中間移動(dòng)直到匯合。每次取除指針指向地址的值進(jìn)行交換。
創(chuàng)新互聯(lián)建站專注于平邑企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開(kāi)發(fā)。平邑網(wǎng)站建設(shè)公司,為平邑等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
void reverse(char *s){ if(*s==\0)return;reverse(s+1);printf(%c,*s);} 這種方法在s很長(zhǎng)的情況下會(huì)一直遞歸到底,不是很好。
采用函數(shù)進(jìn)行字符串逆序輸出,過(guò)程為:定義函數(shù),參數(shù)為字符串指針 定義局部變量指針t指向原字符串 移動(dòng)t指針到字符串尾 向移動(dòng)t指針,直到回到原指針頭,輸出各位置字符。
char p=s;for(i=0;p[i]!=\0i++);這個(gè)地方改下,看你想要用指針還是用數(shù)組。
反序字符串,只需要將首尾字符依次調(diào)換即可。
用算法實(shí)現(xiàn)將一個(gè)輸入的數(shù)字顛倒(輸入12345-54321),要求不調(diào)用任何系統(tǒng)函數(shù),也不能將輸入的數(shù)字轉(zhuǎn)換為字符串作為中間過(guò)渡,就可以顛倒了。C語(yǔ)言是一門面向過(guò)程的、抽象化的通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā)。
printf(%c,s[i]);} printf(\n);} 如果要用循環(huán)也可以的。
在上面的代碼中,首先使用scanf()函數(shù)輸入一個(gè)整數(shù)。然后,使用while循環(huán)將輸入的整數(shù)顛倒存儲(chǔ)在reverse中,具體方法是每次取輸入整數(shù)的最后一位數(shù)字,并將其加入到reverse的末尾,然后將輸入整數(shù)除以10。