A. c語言中主函數的作用是什麼
它是程序的入口,程序從主函數開始執行,到主函數最後一句結束。
B. C語言 過程中調用主函數變數
可以的,但最好提供長度參數,並且不要用0判斷是否有效數字(因為0本身可能就是有效數字)
#include <stdio.h>
#include <malloc.h>
#include <memory.h>
int f(int* a,int l,int n,int i) //a:源數組 l:a有效數字長度,n:插入的數字,i,位置
{
int *b=(int*)malloc(sizeof(int)*(l-i-1)); //臨時數組b
memcpy(b,a+i,(l-i-1)*sizeof(int)); //把&a[i]開始的數據復制到b;
a[i]=n;
memcpy(a+i+1,b,(l-i-1)*sizeof(int));//復制回來
free(b);
return 0;
}
int main()
{
int a[9]={1,2,3,4,5};
int i;
f(a,6,8,2); //可以用各種辦法獲得第二個參數,或者直接就給數組的總長度
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}
return 0;
}
C. c語言中主函數和其他函數之間能否互相調用
主函數不能被調用的,但是可以調用其他任何函數
D. C語言頭文件中能不能使用主函數main()
可以,除非你在包含這個頭文件的源程序中不在寫新的main函數了,否則,函數重復定義
E. c語言 為什麼不允許調用main函數
main函數是系統特殊函數,由操作系統在啟動一個進程時調用,操作為進程分配好資源之後,就調用程序的main函數 開始執行,main函數執行的線程叫主線程。主線程具有特殊意義,某些平台,比如windows ios 對主線程特別的限制,比如說界面更新操作都只能在主線程裡面完成等等。
如果你自己調用main函數,那你的代碼是從哪裡執行來的呢?還不是從main函數執行來的,所以不允許沖突。
系統某些特殊的函數,特殊對象,特殊的ID有很多。
比如特殊函數 main 。
比如特殊對象 C++裡面的cin,cout
特殊的ID,比如不允許佔用1000的網路埠,1000一下的埠是系統使用的。
就像你不能定義一個變數 叫 class if break等等,他們都是關鍵字,不允許沖突一樣。
F. c語言自定義函數可以調用主函數嗎
0 0呃。這個沒試過,一般都是主函數去調用別的函數,也沒必要讓別的函數來調用主函數
G. c語言中主函數可以被子函數調用嗎 只限在C語言中
那是不可以的 主函數可以調用子函數 子函數也可以調用其他的子函數(即子函數之間可以相互調用) 但是子函數是絕對不能調用主函數的
H. C語言中函數能調用函數嗎
這很明顯是可以的,你想想,主函數也是一個函數對不對,可是裡面又調用有printf() scanf()函數,所以,學習語言是要很靈活的,畢竟你不可能只靠一種語言。
補充下:調用可以嵌套,但是定義不可以。
I. C語言中,可不可以調用main函數
假如有一函數f, 沒有參數, 則要這樣調用:
f();
其中, f是函數f的函數名, 但對於編譯器來講, f是一個地址, 它指向了f函數代碼段的開頭部分.而()是一個運算符, 它非常類似於*, 但是*是取值的, 而()是讓程序跳轉到f處執行程序. 最後的那個分號就是標識著一個語句的結束
如果f有一個整型的參數, 那麼需要這樣調用:
f(1);
只是多了一個1, 這個1就是()運算符要復制到f函數的棧中了, 准確地說是復制到它的形參中.
如果f有多個參數, 則只需要在每個形參之間打上逗號:
f(1, 2, 3);
逗號只是用來起分隔作用.(由學區房拍賣提供)
J. C語言的子函數可以調用主函數嗎
C語言語法上講,可以被調用,甚至都可纖亂以高孝被遞歸調用(至少這個說法在C11前都適用,C11沒有研究過,不清楚)
經典的《C和指針》中就有個遞歸調用main函數來列印《 The Twelve Days of Christmas 》戚豎稿歌詞的例子
強調:以上說的是C,不是C++,C++里是禁止的