#include<stdio.h>
void main(int *ret){
int a[3]={1,2,3};
ret=a;
return;
}
uj5u.com熱心網友回復:
int a[3]={1,2,3};這樣定義出了這個函式就被回收了。結果會導致回傳的指標指向不確定
uj5u.com熱心網友回復:
main函式的標準定義是這樣的int main (int argc,char *argv[]);
如果這個函式是主函式,就不該用這樣的引數和回傳值
如果不是主函式,就不要起這個名稱
另外,不能回傳區域變數的指標
uj5u.com熱心網友回復:
void main ?uj5u.com熱心網友回復:
mian 只能作為主函式uj5u.com熱心網友回復:
main函式只有2種寫法是正確的 int main();和int main(int argc,char *argv[]);如果main 是其他函式名的話,由于ret引數是int* 所以該函式呼叫等于沒有呼叫。
uj5u.com熱心網友回復:
同意樓上各位提到的兩個問題。。。uj5u.com熱心網友回復:
總共有2個錯誤1.void main(int *ret) 標準的mian函式有2個引數 int main(int argc,char *argv[]);
2.ret=a;return; 因為陣列a是個區域變數,出了函式體,就不存在了,導致指標ret指向不明確
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148797.html
標籤:基礎類
上一篇:2進制常數怎么表示
下一篇:溫濕度監測系統設計
