編譯——連接——運行
成都創(chuàng)新互聯公司是專業(yè)的長豐網站建設公司,長豐接單;提供成都網站設計、成都網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行長豐網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!
——運行后系統(tǒng)調用main函數,從main函數入口重頭開始運行的main函數結束(main函數的花括號就是main函數的范圍),如果中間與調用函數,則跳到調用函數位置運行,運行的函數結尾后返回調用函數的嚇一跳指令繼續(xù)執(zhí)行。
就是,實參是主函數調用函數的時候傳進去的那個,形參就是在被調用函數中的,代表那個實參的值。#includeint fun(int n){ return n+2;}int main(){ int a; a=1; int b; b=fun(a);}a就是實參,函數中的 int n 就是形參。形參出現在函數定義中,在整個函數體內都可以使用, 離開該函數則不能使用。實參出現在主調函數中,進入被調函數后,實參變量也不能使用。 形參和實參的功能是作數據傳送。發(fā)生函數調用時, 主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。1.形參變量只有在被調用時才分配內存單元,在調用結束時, 即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。 函數調用結束返回主調函數后則不能再使用該形參變量。 2.實參可以是常量、變量、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。 3.實參和形參在數量上,類型上,順序上應嚴格一致, 否則會發(fā)生“類型不匹配”的錯誤。 4.函數調用中發(fā)生的數據傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發(fā)生改變,而實參中的值不會變化。
main() // int main( ) 加上返回類型
{
double result;
FILE *data=fopen("61590_4.dat","at"); //以追加方式打開文件,若不存在此文件,則自動創(chuàng)建
if(data==NULL)
data=fopen("61590_4.dat","wt"); //所以這里不需再創(chuàng)建了
if(data==NULL) //打開錯誤就返回
return 0;
token[n]=getchar(); //通過鍵盤獲取一個字符,這里會暫停等待輸入,token/n未定義?
result=exp(); // 調用exp函數
if(token[n]=='\n') //若按的是回車
{
token[n]='\0'; //將n處字符設為結束符,表示字符串在此結束
printf("%s=%g\n",token,result); // 輸出結果
fprintf(data,"%s=%g\n",token,result); //將上一行輸出結果寫入到文件末尾
}
else error(); //若按的不是回車,就出錯了,嘿嘿
fclose(data); // 關閉打開的文件
return 0; //返回
getch(); //從控制臺讀取一個字符,但不顯示在屏幕上,這一句應該得不到執(zhí)行
}
任何C語言函數都是main()函數開始的
大概調用過程是下面這樣的:
main()函數中調用了b()函數;在b()函數中根據你輸入的那個算術式 指針p 所指的值去調用不同的運算函數;最后通過b()函數a+=z*b;返回a的值就是你輸入的那個算術式所得的結果
你是具體哪一步不懂?可以再細細的給你講