c語言字符串反轉函數(shù) c語言寫函數(shù)實現(xiàn)數(shù)組的反轉要求用指針可運行?
c語言寫函數(shù)實現(xiàn)數(shù)組的反轉要求用指針可運行?代碼示例:#include<stdio。H>void reverse_uuu字符串(char*string){char*lastfor(last=s
c語言寫函數(shù)實現(xiàn)數(shù)組的反轉要求用指針可運行?
代碼示例:
#include<stdio。H>
void reverse_uuu字符串(char*string)
{
char*last
for(last=string*last)!bai=“0”last)
last-->while(string< last)
{
char temp
temp=*string
du*string=*last
*last-->=temp
}
void main()
{
char string[]=”abcdef“
printf(%sn”,string)
reverse[string(string)
printf(%sn”,string)
system(“pause”)
既然C語言函數(shù)的局部變量會被釋放,那為什么函數(shù)還可以把它return返回呢?
看了下面我哥哥的回復,我只能說一半的答案是對的。
真正的原因是abi(應用程序二進制接口)。
ABI定義了與系統(tǒng)交互的細節(jié),如數(shù)據(jù)類型、大小和對齊方式;調用約定(控制函數(shù)的參數(shù)傳遞方向、可變長度處理、堆棧清理體以及如何接受返回值等);系統(tǒng)調用的編碼以及應用程序如何對操作系統(tǒng)進行系統(tǒng)調用系統(tǒng);以及采用完整ABI操作系統(tǒng)基本格式、程序庫等的第二代對象文件。完整的ABI,如英特爾二進制兼容標準(IBCs),允許支持它的操作系統(tǒng)上的程序在支持此ABI的其他操作系統(tǒng)上運行,而無需修改。
其他ABI標準化細節(jié)包括C名稱修改和同一平臺上編譯器之間的調用約定,但不包括跨平臺兼容性。
至于下面兄弟提到的eax save返回值,這只是X86的ABI規(guī)范。在其他CPU架構平臺(如PowerPC)中,實現(xiàn)是不同的!--在PowerPC中,返回值存儲在R3寄存器中
C語言:函數(shù)reverse()是什么?
,這是函數(shù)。Void表示函數(shù)沒有返回類型,即沒有返回值。括號中的參數(shù)被傳遞給這個函數(shù)以實現(xiàn)一些邏輯函數(shù)。相反,calstring是函數(shù)名??纯催@兩個名字,似乎這兩個函數(shù)的功能是字符串反轉和計算字符串的數(shù)目。第二個功能有點不尋常,呵呵。