如何返回一個局部變量是int的作品,但字符不? 代碼片斷如何在C中返回一個char和int變量?
int myfn1() {
int i=10;
return i;
}
char myfn2() {
char buf[10]="Hello";
return buf;
}
int main(){
printf("%d\n", myfn1());
printf("%s\n", myfn2());
}
輸出:
10
Segmentation fault
我是新來的C語言編程,我知道,局部變量的作用域是函數內myfn2崩潰是有道理的我,但怎麼做myfn1作品?
'buf'似乎既不是局部變量也不是'char'。有沒有可能缺少一些? – Ryan
你沒有返回字符。 'buf'不是'char'。 – juanchopanza
我想你應該停下來研究一下關於指針和它們與字符串/數組的關係(注意我沒有說出字符)。 – Pynchia