c語言程式沒有錯誤但輸入資料後程式就停止了為什麼
1樓:網友
printf("請輸入列數:");
scanf("%d",&n);
這裡錯了吧,改為:
printf("請輸入列數:");
scanf("%d",&m);
2樓:我依然正經
printf("請輸入行數:");
scanf("%d",&n);
printf("請輸入列數:");
scanf("%d",&n);-m
3樓:網友
你的輸入的行數和列數怎麼都是n啊?
順便問一下,樓主是不是在linux下編寫的程式?按理說標準c裡面陣列的下標應該不能在主函式里面定義吧?
4樓:黑暗聖騎士
行和列怎麼一樣啦呀!!
c語言中資料輸入錯誤瞭如何提示輸入錯誤並實現要求重新輸入
5樓:網友
資料輸入錯誤,有兩種情況:
1 輸入的資料格式不正確,比如要求輸入內。
整型,但是輸入了字元容型。
這種情況,可以通過scanf的返回值進行判斷,scanf的返回值是正確輸入的變數個數。當返回值和要輸入的變數個數不同時,則表示出錯,要求重新輸入。
2 輸入的資料不在合法範圍內。
比如要求輸入正數,但輸入了負數。這時需要判斷輸入的值是否合法。
以輸入兩個整數,要求範圍在0~100之間的**可以寫作int a,b,r;
while(1)//死迴圈,不得到正確輸入不退出。
6樓:網路工程菜鳥
這個用if else語句即可,先設定好輸入資料範圍,當輸入後進行判斷,如果在範圍內,就不提示出錯,如果不在範圍內,就提示出錯,並重新輸入。
c語言 陣列 為什麼我的程式一輸入資料就崩潰
7樓:匿名使用者
//先輸入乙個正整數作為你的陣列大小,然後再定義陣列,程式如下:#includemain(){inti,n;printf("howmanynumberswouldyouliketoenter?");//輸入陣列大小scanf("%d",&n);intn[n];//通過正整數n定義陣列n的大小for(i=0;i
8樓:唯愛你不棄
你的scanf函式中有的變數沒有用取位址符&。(如陣列a,變數m)
c語言程式,輸入任何數程式都會崩潰啊???
9樓:網友
這段程式沒有錯誤啊,輸入乙個數字,輸出這個數的整數部分。
10樓:
程式完全沒有問題,建議換乙個編譯器試試,如vs,或vc
c語言程式一執行就崩潰是什麼情況
11樓:天枰非官
這種情況叫做 runtime error (執行時錯誤)。
runtime error (執行時錯誤)就是程式執行到一半,程式就崩潰了。
比如說:除以零。
陣列越界:int a[3]; a[10000000]=10;
指標越界:int * p; p=(int *)malloc(5 * sizeof(int));p+1000000)=10;
使用已經釋放的空間:int * p; p=(int *)malloc(5 * sizeof(int));free(p); p=10;
陣列開得太大,超出了棧的範圍,造成棧溢位:int a[100000000]
12樓:網友
有非法的記憶體訪問,一般是空指標、野指標問題。
13樓:聽不清啊
這是因為程式寫錯了。比如int a; scanf("%d",a);
c語言問題,求大神們幫幫忙,下面的程式到底哪錯了,為什麼一執行輸入完就崩潰了
14樓:網友
結構體定義的時候 定義的char* ;不能直接複製字串;
方法1.修改為陣列。
方法2.給結構體定義乙個建構函式; 每乙個char* malloc一段記憶體;
c語言主程式**現這樣語句為什麼會系統崩潰?只可輸入a,輸入a後就報錯
15樓:網友
指標未分配空間就是這樣,你定義了2個指標變數,沒給它分配空間,這指標指在那裡呢?
16樓:網友
申請記憶體啊!!!沒記憶體怎麼弄。
你還不如直接弄陣列 char a;
這個c語言程式 執行完程式出現程式崩潰 怎麼辦
17樓:網友
struct list book[2]; // 這裡建立了兩個物件,分別是book[0]和book[1]。
for(i=0;i<=2;i++)// 這裡i可以是0,1,2,迴圈了三次,訪問book[2]時越界。
for(i=1;i<=2;i++)// 這裡i可以是1,2,迴圈了兩次,訪問book[2]時越界。
訪問越界時沒出錯(這有點奇怪),但是執行結束之後,釋放陣列時出錯了。
所有迴圈都應改為for(i=0;i<2;i++)
或者struct list book[2];改為struct list book[3];
18樓:kskzd_一
把list book[2]改為list book[3],就可以了,輸入、比較語句中,有book[2],結構陣列三項,定義兩項,導致了錯誤。
c語言輸入時d啥意思, d在c語言裡是什麼意思
d是代表十進位制數的意思,d 在c語言裡沒見過。跳過一些數字不儲存 如 scanf s d s a,b 從鍵盤輸入裝置中 讀取兩個字串,跳過第一個串和第二個串的數字部分 d指跳過某個輸入的內容 使下一個輸入的內容複製給緊接著的變數比如 下面程式 輸入 1 2 3 則輸出為 1 3 程式把2跳過了,直...
C語言中陣列元素下標的資料型別,在C語言中,引用陣列元素時,其陣列下標的資料型別允許是
c 整形常量,字元形常量或整形表示式 c的陣列可以理解為數學中的含有第0項的數列 含有 a 0 a 1 a n 1 共 n 個資料,訪問是要用整形的 x去訪問。這種題不要死記硬背 在c語言中,引用陣列元素時,其陣列下標的資料型別允許是 b比如int a 20 下表就可以是常量,i 8 j 9 a i...
c語言輸入12345後寫出下列程式的輸出結果
我覺得這個答案是5吧,因為當輸入 時才會退出迴圈,而且之前的每getchar 一次,值就會覆蓋之前的。你會加斷點bai嗎?單步執行 du就可以看出來為zhi什麼了。第一dao次迴圈開始的時候內先執行c getchar 此容時c 1 並且進行了輸出,判斷迴圈條件的時候又執行了 getchar 此時緩衝...