-
我什至不知道你的程式要做什麼。
while (*pp=' '句子 (pp)++ 甚至沒有結束判決。
-
這個程式寫得太簡單了,錯誤在於用了最基本的變數名:
輸出是 end,但整個程式不會為 end 分配值。
結果,全域性變數 end 初始化為全零,因此輸出也全部為空。
請注意,在上面的第 53、54 和 57 行中,結尾應該是向後分配的。
-
修改後請重新編譯執行,如圖所示
-
1 個問題:
這個程式的主要錯誤是值 s 需要處理從 m 到 n 的所有數字,因此它需要在每個 i 週期開始時初始化 s = 0。
解決方案:將 s=0 移動到下面迴圈的第一層,轉到 2 問題:
輸出數字之間沒有間隔,如果有多個輸出,您將無法清楚地看到解決方案:在輸入 printf 中新增乙個分隔符,例如空格 printf("%d ",s);
-
這個程式有很多問題:
首先:你的問題“為什麼不輸出”的答案是你在這裡的判斷。
if(strcmp(dic[m],word)==0) break;
該問題是有效的,因為您的 if ......else……總是回來。
j=0;然後當涉及到進入其他方面時。
word[j]='\0';
這樣,Word 中總是有乙個空字串,你把句子 j=0 放在 strcpy(dic[m++]word);您可以稍後輸出它。
其次,即使有了這個變化,你的邏輯仍然是有問題的,因為for迴圈的結束條件是s[i]!='\0';以字串 aaa bbb 為例,你的程式只能輸出 aaa,因為當字串迴圈完成後,for 迴圈會直接結束,你的 bbb 不會被新增到 dic 中。
你在這裡使用 dowhile(s[i]!)='\0');去迴圈沒有問題,這個迴圈比 for 迴圈多一次,它只是增加了你錯過的內容。
最後,最好在程式設計之初就養成良好的編碼習慣,程式中很多變數都是不用的,比如你的inword變數總是0,不需要定義,編碼格式應該標準化,這些小習慣其實是相當重要的。
-
我對你的程式做了以下事情:
首先是將所有浮點型別更改為 double
然後將其新增到程式的前面。
#include
#include
這兩個標頭檔案。
然後在程式的主體中。
while((t[25]=15))
將迴圈體在迴圈體中的位置相加。
請看這兩句話。 執行程式並得到結果:
#qnan|1.#qnan
#qnan|1.#qnan
#qnan|1.#qnan
.結果表明,進入while迴圈並執行一系列操作後,t[25]的資料成為無效資料。
所以我想這是因為你的公式是有問題的,或者其他什麼,無論如何。
while((t[25]=15))
條件永遠不可能立竿見影,也永遠不可能跳出迴圈,當然你會被困在那裡而沒有結果(所謂的無限迴圈)。
因為你的問題要求的公式不是很清楚,所以檢查你的程式並不容易,總之我個人的感覺是你的公式有問題,t[0] t[25]計算方法有問題,仔細檢查一下。
-
兩個可能的問題:
1. 您的乙個格式化程式將 %c 寫成大寫 %c。 據我所知,在基本C語言中沒有這樣的寫作。 但不確定是否有乙個系統允許它這樣寫。
其次,輸出 5 個字元後不輸出換行符數,在某些作業系統中,輸出字元的子程式在執行後並沒有立即輸出,而是要等到執行另乙個操作才能輸出換行符數,然後一起輸出。
在以上兩個問題中,在turboc下進行測試:
第乙個問題將直接輸出兩個字元“%c”而不是 r。
第二個問題是,當它輸出到PC的螢幕上時沒有問題。 但是,如果您執行程式並將輸出重定向到印表機,則會出現我提到的問題。
-
編譯器的問題應該能夠輸出。
您嘗試將 int 更改為 char。 我帶著你的程式逃跑了,是的。
-
將 int 更改為 char,將 C 更改為 c。
-
是的。 沒關係。 你可能沒有看清楚。 在最後一行新增換行符。 這很清楚。
如果在程式末尾新增輸入語句,或新增標頭檔案 include,則在程式末尾新增 system("pause");語句,程式執行後不會立即退出,結果可見。 >>>More
在你編寫的程式中,a 和 c 都是浮點型變數,兩個浮點型變數在 a==c 等邏輯運算之後的返回值並不是編譯器可以考慮的布林值。 >>>More