1樓:匿名使用者
int *p;申明瞭一個指標變數p,要使用*p,必須讓p指向一個記憶體單元,否則,p就是野指標你有兩種方法。
棧void swap(int *p1, int *p2)這種方法純屬蛋疼。
2.堆void swap(int *p1, int *p2)使用完p後,記得釋放p指向的記憶體,某些情況下還需將p指向null,防止懸掛指標。
free(p);
p=null;
2樓:風華憐馨
有點沒明白你的要求。
要實現數的交換,你的swap 函式是沒有問題的,問題出在呼叫的時候:
void main()
swap 函式的引數應該為你要交換的變數的地址。如果你設一箇中間變數,那修改的只是中間變數,
即也可以修改為:
void main()
望採納。
3樓:第四片葉子
首先你的指標必需指向一個地址,才有意義,你的函式中int *p根本沒有指向一個地址,你給它東西他往哪存。所以你可以給p分配一個地址,於是:
int *p = (int *)malloc(sizeof(int))
*p=p1;
*p1=*p2;
*p2=*p1;
free(p); //不這樣也會銷燬。
請問這道c語言題目怎麼寫?
4樓:伊澤的手錶
#include
#include
int f(int a,int b)
for(t=a;t%a||t%b;t+=a){};
return t;
}int main()
k=1;
for(i=0;i printf("\n最小公倍數為:%d\n",k); return 0; }輸入個數:3 輸入第1個數:2 輸入第2個數:3 輸入第3個數:4 最小公倍數為:12 press any key to continue 這道c語言題目怎麼寫? 5樓:匿名使用者 沒什麼可分析的,題目過於簡單。你乾脆把所有的問題全部搬上來算了,因為看樣子你是一點都不會 大佬們求教,這道c語言題目怎麼寫啊? 6樓:匿名使用者 累加變數:觀察式子,這是一個求累加和的問題,因此需要用到累加和迴圈配合,假設使用變數s作為累加變數,由於其中包含分數,因此s可以採用double型別,看後面每項計算,第1項的1比較另類,因此設定累加變數初始值為1,然後從第2項開始累加計算 迴圈:迴圈一次向s上累加一次當前項,由於多項式項數無法**而只關心迴圈條件(或者說關心迴圈結束條件),因此採用while迴圈,用一個變數i跟蹤迴圈次數,初始值1每次迴圈i自加1,這樣i的取值為:1,2,3,... 這個值將用於計算每項內容,後面需要總結每項具體取值與i取值之間的關係,因此迴圈大致是這樣:while ( fabs(t)>=0.00001 ) 其中變數t是每項取值,累加語句前面的省略號部分計算當前對應i取值的t為多少 項:由於包含分數,因此設t為浮點數double型別變數,每項規律為,分子是前一項乘以x得到,分母是前一項乘以i得到,涉及到累乘計算,因此用累乘變數fz和fm來計算,它們可以設定為double型別(設定成int型擔心溢位)方便分數計算,它們起始值均為1(這是累乘變數通常使用的起始值) 題目要求用函式做,如果不用函式程式設計為: #include void main() printf("%lf\n",s);} 下面的c語言題目怎麼寫
20 7樓: 選b,原來的 a= b 的意思是 把 b的值賦予a。而p是指標,指向a的,所以對p取值即*p就是a。所以等價於 *p = b 。 (喜歡請採納,謝謝!) 8樓:匿名使用者 選擇b啊, p指向a的地址, *p即是a的值, 所以*p=b 等價於 a=b 9樓:遺失的迷惘 答案:b 這題主要考察的是指標。 首先:a=b的意思就是用b的值給a賦值; 另外int* p = &a;就是定義一個指標p,它指向a,也就是通過p可以操作a,因為p的值存的是a的地址。因此,只需要把p指向的地址中的東西,取出來,就可以操作,這個過程叫做解引用,用符號*表示。 也就是*p就是a,因此,a=b,也可以寫成*p=b 10樓:匿名使用者 1.在c語言中(以16位pc機為例),一個char資料在記憶體中所佔位元組數為1個位元組,其數值範圍為0~255;一個int資料在記憶體中所佔位元組數為4個位元組,其數值範圍為-32768~32767;一個long資料在記憶體中所佔位元組數為8個位元組,其數值範圍為-65536~65535;一個float資料在記憶體中所佔位元組數為4個位元組,其數值範圍為3.4e+38/3. 4e-38。 2.c語言的識別符號只能由大小寫字母,數字和下劃線三種字元組成,而且第一個字元必須為字母或下劃線。 3.字元常量使用一對單引號界定單個字元,而字串常量使用一對雙引號來界定若干個字元的序列。 4.在c語言中,不同運算子之間運算次序存在優先順序的區別,同一運算子之間運算次序存在結合性的規則。 11樓:白天中的夜光 b在題幹中,int a,b=2018,*p=&a; 等價於 int a,b=2018,*p; p=&a; 所以 *p=*&a=a=b. 好像是這樣 c語言 這題怎麼寫? 12樓:匿名使用者 #include #include int getmax(char s,char ch)return cnt; }int main() 請問這個c語言題目怎麼寫? 13樓:匿名使用者 #include int main() int num,m,n,s,a[13]=; scanf("%d",&num); n=num%100; m=num/100%100; while(m--) n+=a[m]; s=(n%7+6)%7; if(s==0) s=7; printf("%d",s); return 0; //執行示例: 14樓:匿名使用者 有資源的,看我的主頁哦~ 從儲存結構和演算法上來講,double和float是一樣的,不一樣的地方僅僅是float是32位的,double是64位的,所以double能儲存更 高的精度。任何資料在記憶體中都是以二進位制 0或1 順序儲存的,每一個1或0被稱為1位,而在x86cpu上一個位元組是8位。比如一個16位 2 位元組... if sumproduct 1 not iserr find a a 1 a 8000 0,substitute a8,a 一 substitute a8,b 二 向下填充 若a列包含 a a 替換成 一 但 b 並不替換成 二 若a列不包含 a b 替換成 二 b1公式 if iserr find... 1.so don t forget to put on more clothes.所以不要忘記穿上更多的衣服。2.so don t make any noise.所以不要任何一點製造噪音。3.so don t call him.所以不要打 給他了。4.so don t too sad.所以不要太難過...請問這個C語言輸出的是什麼
excel問題,請問這個函式怎麼寫
請問這題怎麼寫呢?小學英語