用swap函數(shù)交換兩個(gè)數(shù) Swap()函數(shù)編程實(shí)現(xiàn)兩個(gè)數(shù)組中的對應(yīng)元素值的交換?
Swap()函數(shù)編程實(shí)現(xiàn)兩個(gè)數(shù)組中的對應(yīng)元素值的交換?代碼很簡單,和交換號碼,不知道在哪里想不明白。Voidswap(inta[,intapos,intb[],intbpos)/*apos和BPOs是
Swap()函數(shù)編程實(shí)現(xiàn)兩個(gè)數(shù)組中的對應(yīng)元素值的交換?
代碼很簡單,和交換號碼,不知道在哪里想不明白。Voidswap(inta[,intapos,intb[],intbpos)/*apos和BPOs是要交換的下標(biāo)*/{inttemp=a[apos]a[apos]=B[BPOs]B[BPOs]=temp}
~]#include<stdio。H>
#defineswap(a,b){(a)=(b)}{(b)=(a)-(b)}{(a)=(a)-(b)}/*定義用于交換整數(shù)的宏,*/
INTN,M//兩個(gè)數(shù)組的行數(shù)和列數(shù)
inta[100][100],b[100][100
]main()
{inti,J
puts(“輸入二維數(shù)組的行數(shù)和列數(shù)”
]scanf(%d%d,&n,&;m)
puts(“輸入二維數(shù)組的元素?cái)?shù)a”
)for(I=0I<ni)
for(J=0j<mj)scanf(%d”,&A[i][J])
puts(“二維數(shù)組的輸入元素B”
對于(i=0I<ni)
對于(J=0j<mj)scanf(%d”,&B[i][J])
puts(“交換a和B…”。。。“”
for(I=0I<ni)
for(J=0j<mj)
swap(a[I][J],B[I][J])
put(“交換數(shù)組a:”)for(I=0I<ni)
for(J=0j<mj for)Printf(%d%C”,a[I][J],J==M-1?“n”:“)
puts(”交換數(shù)組B:“)
for(I=0I<ni)
for(J=0j<mj)printf(%d%C”,B[I][J],J==M-1?“n”:“)
試定義一個(gè)帶參的宏swap(x,y),以實(shí)現(xiàn)兩個(gè)整數(shù)之間的交換,并利用它將一維數(shù)組a和b的值進(jìn)行交換?
你好,我是小易先生。我很高興為你回答。有兩個(gè)問題:
1。這里使用C語言中的printf函數(shù)。所有的頭文件都是stdio。H應(yīng)寫在代碼的開頭#Include<stdio。H>
2。swap函數(shù)的形式參數(shù)是指針變量,因此在調(diào)用此函數(shù)時(shí),應(yīng)該傳遞地址(即實(shí)際參數(shù)是地址),因此不能將其寫入swap(x,y),而應(yīng)將其寫入swap(&x,&y)。這是地址符號。比較專業(yè)的理科知識,歡迎關(guān)注我。如果你喜歡我的回答,也請給我表揚(yáng)或轉(zhuǎn)發(fā),你的鼓勵(lì)是支持我寫下來的動(dòng)力,謝謝。