int swap(int x,int y)
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計,裕華網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:裕華等地區(qū)。裕華做網(wǎng)站價格咨詢:18982081108
{
int temp;
temp=x;
x=y;
y=temp;
return 0;
}
要改,改為指針的形式。
int swap(int *x,int *y)
{int *temp;
temp=x;
x=y;
y=temp;
return 0;
}
不知對不對
#includecstdio
char?s1[100000],s2[100000];
int?main()
{
gets(s1),gets(s2);
puts(s2),puts(s1);
return?0;
}
c語言中實參變量和形參變量之間的數(shù)據(jù)傳遞是單向的“值傳遞”方式。指針變量作函數(shù)參數(shù)也要最循這一規(guī)則。調(diào)用函數(shù)不可能改變實參指針變量的值,但可以改變實參指針變量所指變量的值。
#include stdio.h
void swap(int *p, int *q);//用傳地址的方法交換
void main()
{
int i, j;
scanf("%d%d", i, j);//從鍵盤輸入兩個交換的數(shù)
swap(i, j);//傳入i,j的地址
printf("i = %d, j = %d\n", i, j);//輸出交換后的兩個值
}
void swap(int *p, int *q)
{
int temp;//定義臨時變量 存放中間值
temp = *p;
*p = *q;
*q = temp;
}
注意:不能直接寫void swap(int i, int j);
因為那只是臨時變量,函數(shù)調(diào)用完后,便釋放空間,兩個值并沒有交換。