1樓:匿名使用者
getbits 函式未宣告
unsigned getbits(unsigned x,int p,int n);插入第三行
2樓:內蒙古新聞聯播
unsigned getbits(unsigned,int,int);
呼叫前需要宣告
3樓:匿名使用者
把getbits放到main函式前面,或者在main函式前面先申明
求教一道c語言的題目!
4樓:____年華里
c語言經典100題裡面的題目,我就直接複製吧
#include"stdio.h"
main()
求教!一道c語言題目。
5樓:匿名使用者
你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。
由程式執行結果為8(此時i=3,m=3+1+4,因此返回值為8),17(此時i=3+8(m第二次執行值)+1,m=12+1+4=17,因此返回值為17)也可以看出來。
6樓:
邏輯錯誤。比如輸入25——
第一遍迴圈結果是top=0,bottom=6,mid=3;
第二遍迴圈結果是top=0,bottom=2(要找的數就在這個位置),mid=1;
第三遍迴圈時就沒有一個分支是滿足條件的,進入了死迴圈……一宗邏輯錯誤的**再考察它的輸出結果是無意義的,考察也是很困難的。
7樓:
函式呼叫是不能改變實參的值得如果想要,可以將m定義為 static int m;
或者定義一個指標用來傳遞引數。
8樓:
m是形式引數,第一次呼叫fun的時候,並不能改變m的資料雖然你在func 中將m定義為static,但這僅保證了在func函式內部m的資料僅被初始化一次
但這裡定義的m和main()中定義的m是單獨的兩個變數你去看看變數的作用域的介紹和函式引數的介紹就知道了
求教一道 c語言題目
9樓:肇事者
答案應該是d,b
解釋:第一題的連等式從右向左計算,第二題因為是與運算而a>b為假故右邊的表示式不執行
10樓:自我程式設計
一、-12,從右往左。
二、3,都是邏輯表示式對變數值沒影響。
11樓:
第一題從右到左,最後結果是-12
求教一道c語言題目
12樓:
c語言中宣告陣列時,一定要顯式的指明陣列長度,所以陣列長度是個常數,int a[n]這種宣告法是明顯錯誤的。你可以看到,n最大值是10,那麼直接宣告一個int a[10]就可以了。
另外,你的交換演算法也還有問題,修改如下,//註釋並且修改:
#include
int main(void)
//temp2=a[n-1];
a[n-1]=a[index2];//a[index2]=a[n-1];
a[index2]=temp2;
}return 0;}
13樓:匿名使用者
修正後的**:(注意有註釋的地方)
int main()
temp2=a[n-1];
a[n-1]=a[index2]; // 這裡有修改,你原本的**寫反了
a[index2]=temp2;
for(i=0;i return 0; }另外,在計算出哪個元素是最小值時,就應該立刻和第一個元素進行互換,而不能在互換前去搜尋最大值,因為有可能第一個元素就是最大值。 一道c語言題目 14樓:匿名使用者 #include int main(void) else }else}} return 0;} 15樓:戰無ko勝 |||#include #include int main() if(i%2==0) printf("a\n"); else printf("b\n"); else if(x-y==2||y-x==2)else return 0; }新手上路 求教一道c語言題目! 16樓:匿名使用者 y的取值:每項取值都是-1~+1範圍,四項和假設為-4~+4,由於y是橫座標,72/2=36,y值0值位於第36字元,對應某y值,需要在y/4*36+36=y*9+36這個位置列印函式值 x的取值:0~720度,需要轉換為弧度制再呼叫三角函式,為利於觀察取間隔10度 如果想繪製y=0的座標軸,需要確認遮擋關係:當函式值落在座標軸時,不畫座標軸 #include #include #define bl 10 //間隔10度繪製一點#define pi 3.1415926 void main() if ( i==35 && b==0 ) if ( b==0 ) printf(" "); }printf("\n");}} 初學者求教一道c語言題目 17樓: #include #include int main(void) height=height*pow(0.5,n); //小數點後多保留幾位,不然容易出現0.0,同時double型別應該是%lf printf("distance=%.6lf\n",distance);//printf("distance=%.1f\n",distance); printf("height=%.6lf\n",height);//printf("height=%.1f",height); return 0; }結果: 求教一道c語言的題目!!謝謝 18樓:匿名使用者 你上面的**沒拍完,abc都是錯的,猜測應該選擇d(圖中**沒拍出來) 正確的顯示應該是: 10,20.40,40 驗證**如下: #include int x1=30,x2=40; int main() sub(int x,int y) 執行結果如下: include define sz size 80 int main void char safter sz size int i 0 printf input a string while sx i n gets sx 換用gets來接收字串比較方便printf input a char scan... 第一次x 8 if條件滿足輸出8,然後在if語句裡面減1,x 7 然後for裡面x減1,使x 6 第二次x 6,if不滿足,所以x減1,x 5,然後輸出5,然後for裡面x減1,使x 4 第三次x 4 if條件滿足輸出4,然後在if語句裡面減1,x 3 然後for裡面x減1,使x 2 第三次x 2 ... 你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。由程式執行結果為8 此時i 3,m 3 1 4,因此返回值為8 17 此時i 3 8...求教一道c語言題目,求教一道C語言題目
求教一道c語言題目,謝謝大家啦,求教一道C語言題目,謝謝大家啦。
求教!一道C語言題目,求教一道c語言題,求詳細過程