1樓:曉之蒂
我看了好久終於明白了,你還是有點水平的。c和d處理的很好,就是在地遞迴過程中p1的位址沒有傳對。
在main函式前面宣告h=2,儲存行寬,k==1的時候,每次迴圈p1應該跳到下一行然後=*(p2+i)。遞迴呼叫l的時候應該用行數來替換(k-1),即已經離開起始位址(j-1)行,並+1使指向q中的下一列(就這樣一列一列的往下指,共指兩次,因為子串行就2個數),同理while裡的(k-1)也要用h替換掉,k-1不是行寬,乘上(j-1)跳不到正確的位置。有改動的地方已經在程式裡標出來了。
#include
void l(int *p1, int *p2, int k, int n);
int h; //有改動
void main ();
int q[3][2];
int i, j;
h=2;
l(q[0], m, 2, 3);
for (i=0; i<3; i++)
printf ("\n");}}
void l(int *p1, int *p2, int k, int n)
c=(c*(n-i))/(n-i-k+1);
d=d+c;}}
}你看到了嗎?
2樓:
l(q[0], m, 2, 3);——這裡呼叫有問題喲!q[0]是指向乙個具有2個元素的int型一維陣列的指標,而函式l要求的是乙個int*型指標……
3樓:
一般來說是超了int的範圍,溢位了
4樓:匿名使用者
請提供一下你的原題目要求,看不太明白你的**,不好幫你除錯
c語言程式輸出結果有-858993460
5樓:諾諾百科
第七行:scanf("% d",p++);中多了個空格。
if(x[j]=x[k])應該改成if(x[j]==x[k])一般結果出現隨機數是因為指標或者所要輸出的結果不是所指的記憶體塊,指向任意地方的結果。
if(i+m<=n)改為if(i+m把int t=-10,d=10,m,n;
改成int t=-10,d=10,m=0,n;
6樓:
在c語言中,編譯時系統會先給變數賦予預設值,其中,當定義乙個int型變數時,系統會自動給該int型變數賦值於-858993460,這種情況在visual c++ 6.0中編譯時一般會有提示。
例如下c語言**:
#include
void main()
輸出:-858993460
要想改變這種情況,就要養成給變數賦予初值的習慣,例如下c語言**:
#include
void main()
輸出:0
7樓:溪貝0號
scanf 輸入的時候不要有逗號,最好改成空格。若是寫了逗號, 你鍵盤打字的時候也要打上逗號。
1,2,3,4
8樓:七彩虹科技****
-858993460 == 0xcccccccc, debug模式下編譯器對未初始化的變數賦的預設值。 0xcc 對應彙編碼 int 3 除錯中斷指令。 好吧扯遠了 25,-34(enter) 你的逗號是全形吧。。。
9樓:匿名使用者
將這句改為
將其中的逗號改為空格就行了。
10樓:匿名使用者
%d,%d,%d,%d
scanf的格式字串中帶逗號,就必須要求輸入的字串也有逗號,否則就類似於講非數字字元輸入給%d的後果。
11樓:
要輸入1,2,3,4中間要有『,』逗號
因為你的中間%d,%d,%d,%d中間有逗號
12樓:遙遠的守望
%d,%d,%d,%d中間,換成空格.
13樓:
換成試試。
c語言程式設計得到乙個陣列的最小值是輸出結果是-858993460 求解為什麼!
14樓:匿名使用者
max=min=a[0][0];中a[0][0]沒有被初始化。
a[0][0]的預設值就是-858993460,你在初始化之前(scanf("%d",&a[0][0]);
)就把他賦值給min的,當然最後也不會有人比他少。
c語言程式設計輸出的時候出現-858993460這個
15樓:gta小雞
if(i+m<=n)改為if(i+m 必須保證輸入的m小於n。 c語言程式設計輸出錯誤輸出值是-858993460 16樓: 沒有定義變數t; main的引數不用寫; scanf語句「」位置不對 **:#include int main() if (a < c) if (b < c) printf("%d %d %d\n", a, b, c); return 0;} 17樓:匿名使用者 # include int main(void) if (a < c) if (b < c) printf("%d %d %d\n", a, b, c); return 0; }希望我的回答可以幫助你 18樓:匿名使用者 scanf("%d %d %d, &a, &b, &c")格式錯誤 應該為注意雙引號的位置 c語言輸出-858993460 19樓:匿名使用者 -858993460 == 0xcccccccc, debug模式下編譯器對未初始化的變數賦的預設值。 0xcc 對應彙編碼 int 3 除錯中斷指令。 好吧扯遠了 25,-34(enter) 你的逗號是全形吧。。。 c語言結果為什麼是-858993460
5 20樓:可愛的我聽不清 在c語言中,編譯時系統會先給變數賦予預設值,其中,當定義乙個int型變數時,系統會自動給該int型變數賦值於-858993460,這種情況在visual c++ 6.0中編譯時一般會有提示。 例如下c語言**: #include void main() 輸出:-858993460 要想改變這種情況,就要養成給變數賦予初值的習慣,例如下c語言**: #include void main() 輸出:0 你這個是什麼 啊?看到好多在網上提交答案 include void main int tmain int argc,tchar argv printf d c d 2f n a,ch,b,num return 0 include void main c語言程式設計題,要求輸入若干個整數,以輸入的是0... 以下第二點或者兩點都沒弄清 1.沒理解區域性變數。2.沒有理解引數傳遞。首先區域性變數,當某個變數在函式內部或者語句塊中宣告時,該變數則是該函式或者語句塊中的區域性變數。舉例來說。void fun int a int main 函式執行結果為6 7 其次,來看引數傳遞。引數傳遞分為數值引數傳遞和位址... int main printf 結果 f sum 我是學前端的,沒怎麼了解c,但是應該是這樣吧 include void main include int main 用c語言編寫程式,計算s 1 1 2 1 2 3 1 2 3 n include usingnamespacestd intmain ...c語言程式設計題目輸出整數加法算式
C語言程式設計,c語言的程式設計
c語言程式設計計算,C語言程式設計計算