用指針,另外保存數(shù)據(jù)的變量退出函數(shù)時不得消失。
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都純水機小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
例如:
#includestdio.h
int * fun(int n)
{
int i;
static int a[100]; // 這里用static
for (i=0;in;i++) a[i]=i;
return a[0];
}
void main()
{
int i,n=5;
int *p; // 聲明指針
p = fun(n); // 返回指針
for (i=0;in;i++) printf("%d\n",p[i]); // 把 p 看成數(shù)組來輸出
}
得 0 1 2 3 4
擴展資料:
注意事項
1、數(shù)組的維度必須是一個常量表達式
int main(void)
{
constexpr int i = 20;
int j = 5;//不是常量表達式
int arr1[i];//正確
int arr2[j];//錯誤
system("pause");
return 0;
}
2、默認情況下,數(shù)組的元素被默認初始化。
而且需要注意的是,和內(nèi)置類型的變量一樣,如果在函數(shù)內(nèi)部定義了某種內(nèi)置類型的數(shù)組,那么默認初始化會令數(shù)組有未定義的值。
1、首先打開vc6.0, 新建一個項目。
2、添加頭文件。
3、添加main主函數(shù)。
4、定義一個兩個數(shù)相加的函數(shù)binSubtracton。
5、在main函數(shù)定義int了性number1,number2, binSub。
6、使用scanf給變量賦值。
7、調(diào)用binAddition、binSubtracton。
8、使用printf打印結(jié)果。
1、函數(shù)arrDisp中,for循環(huán)之中,不能定義變量,變量應(yīng)該在函數(shù)開頭聲明。
2、變量j未定義
3、在main函數(shù)調(diào)用arrDisp函數(shù)時,一般是以數(shù)組名傳遞參數(shù)。
4、在arrDisp函數(shù)中,for循環(huán)下的printf函數(shù),應(yīng)該調(diào)用數(shù)組a[j]的元素做為輸出。
代碼如下:
#include stdio.h
void arrDisp(int a[], int n)
{
int j;
for(j=0;jn;j++)
{
printf("%d",a[j]);
if(j%8==0)
printf("\n");
}
}
void main()
{
int n,i;
int a[100];
printf("要輸入數(shù)的個數(shù)為:");
scanf("%d",n);
for(i=0;in;i++)
scanf("%d",a[i]);
arrDisp(a, n);
}
用子函數(shù)實現(xiàn)結(jié)構(gòu)體數(shù)據(jù)的輸入與輸出:對于多數(shù)子函數(shù)的輸入與輸出,有一定規(guī)律性可言。
方法1:void型不傳值傳址調(diào)用與聲明。main中聲明void date_in(),void date_pout()。函數(shù)定義前一定在main()前先定義結(jié)構(gòu)體變量(全局變量),然后定義輸入或輸出程序段。此時再main()調(diào)用即可。
如下:
struct student
{
char name[20];
int old;
char sex;
}stu;
void date_in();
void main()
{ date_in();
}
void date_in()
{ scanf("%s%d/c,"stu.name,stu.old,stu.sex);
}時間問題程序有點簡潔,有問題請追問,很樂意與你分享。
當然是先輸出*p了,函數(shù)f里的參數(shù)是形參,而main()函數(shù)里的參數(shù)是實參,main()是程序的入口點,將實參傳遞給f()函數(shù),經(jīng)運算后將結(jié)果傳遞給main()函數(shù),而在傳遞結(jié)果之前就已經(jīng)執(zhí)行printf("*p=%d\n",*p);了,最后之后printf("*r=%d\n",*r);懂了沒?
#include stdio.h
int Allfactors(int n)
{
int i;
for(i=1;i=n;i++)
{
if(n%i==0)
printf("%d\t",i);
}
printf("\n");
return i;
}//這里定義了一個求某整數(shù)所有約數(shù)的函數(shù) 應(yīng)該沒錯 單獨運行可以輸出//
void main()
{
int a;
printf("Please input an int:\n");
scanf("%d",a);
printf("Your int is:\n");
int n;
n=Allfactors(a);//從這里開始不會了 我想調(diào)用這個輸出約數(shù)的函數(shù) 應(yīng)該怎么寫啊 這么寫不對 //
printf("the factors of your number are:%d\n",n);
}
試試這個?