C語言中,接受一個int型別的引數,回傳值為什么可以是char型別(如可回傳能舉例最好),回傳值不應該與接受型別int一樣才可以運行嗎?
uj5u.com熱心網友回復:
這里的char估計說的是字串,而不是單個字符比如IP地址,Ipv4的話,在網路傳輸中,使用4位元組存盤,而與人交流時,可能就得轉成192.168.1.1之類的字串,就不止4個位元組了。
uj5u.com熱心網友回復:
c里面char就表示一位元組,int是4位元組uj5u.com熱心網友回復:
哦哦,那個字串char回傳時與int的型別是不匹配的
uj5u.com熱心網友回復:
你貼的截圖函式原型不完整,要看最前面的宣告,是否是char *n_to_char(int)之類的宣告。是的話表明是轉為字串。如果是char n_to_char(int),那就像你初始理解的,如果沒有限制int范圍,就會存在一個多至少的映射,會損失資料
uj5u.com熱心網友回復:
引數型別和回傳值型別 沒有任何關系所以你的所有疑問都不成立 沒必要討論了
uj5u.com熱心網友回復:
回傳值和引數的型別沒有一點關系uj5u.com熱心網友回復:
函式的回傳值 和接受的實參型別沒有關系uj5u.com熱心網友回復:
因為本質上,int和char都是記憶體上的資料,只不過int是4個位元組,char是1個位元組。從本質上去看,兩者互相轉換沒有任何問題。一些語言不讓你轉,是為了保護你不去搞些騷操作引起記憶體問題。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/78811.html
標籤:C語言
