#includestdlib.h
創(chuàng)新互聯(lián)公司是一家專業(yè)提供綏芬河企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為綏芬河眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
#includestdio.h
int main()
{
int x,z;
int add1(x);//聲明用函數(shù)原型,int add1(int x);
scanf("%d",x);
z=add1(x); /*顯示在這里出錯(cuò),說是不能使用函數(shù)*/
printf("%d",z);
system("pause");
return 0;}
int add1(x)//定義帶形參的函數(shù),形參要有類型,正確的 int add1(int x)
{int x,y;//x形參中定義過了,不需要再定義直接寫int y;就可以了
y=1+x;
return y;
}
呵呵,修改已經(jīng)在注釋中給出,你對(duì)照修改下就好了
繼續(xù)努力呀,我也對(duì)c語言比較感興趣,有空多多交流....
這是因?yàn)間etchar前面有一個(gè)scanf("%lf",a);
你輸入完a的值后,是否會(huì)
輸入回車
這個(gè)回車就是一個(gè)字符啊,這個(gè)字符就被getchar當(dāng)做你輸入的字符了,所以看起來像沒有執(zhí)行,其實(shí)是執(zhí)行了。
可以在getchar()前使用
fflush(stdin);
刷新標(biāo)準(zhǔn)輸入緩沖區(qū),把輸入緩沖區(qū)里的東西丟棄
這樣就可以輸入字符了。
調(diào)用時(shí)你的函數(shù)switch(int a,int b)
把a(bǔ)[i]的值賦給了a,把a(bǔ)[j]的值賦給了b(數(shù)組b相同)
然后函數(shù)交換使得
a=a[j]
b=a[i]
所以a[i]跟a[j]的值還是沒有交換,換的是a,b的值
你可以把函數(shù)修改一下(改用指針參數(shù)):
void switch(int *a, int *b){
int t;
t=*a;
*a=*b;
*b=t;
}
調(diào)用時(shí):switch(a+i, a+j)