我是編程新手,目前正在C上工作。按C中的值致電
我瞭解到C沒有引用調用。我們寫信給實際參數的地址傳遞給形式參數的程序也由價值C.
打電話糾正我,如果我錯了。但是,我跑這個程序:
//使用函數交換兩個數字。 的#include
void swap(int *,int *);
void main()
{
int x,y;
printf ("Enter the values of x and y : ");
scanf("%d %d",&x,&y);
swap(x,y);
printf("The value of x = %d and y = %d",x,y);
}
void swap(int *a,int *b)
{
int temp;
temp=*b;
*b=*a;
*a=temp;
}
它編譯就好了。但是,我在輸出得到一個分段錯誤。
它要求我輸入X和Y的值,然後給出,段錯誤..
請幫助!
你應該通過'交換(x,&Y)'通過地址的這些變量。 – vtha
如果啓用所有警告和調試信息,它將不會編譯。通過使用[GCC](http://gcc.gnu.org/)的'gcc -Wall -Wextra -g',你*會得到你應該照顧的警告。 –
你的編譯器告訴你什麼? –