![](/img/trans.png)
[英]Printf in for loop doesn't work without a printf preceded outside the loop
[英]printf doesn't work
該C代碼應該創建一些隨機數並打印它們,然后對其進行排序並再次打印,但它只是打印排序后的數字。 有人可以幫助我嗎?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(){
int i, j, k;
float temper;
time_t t;
float grades[1000];
fflush(stdout);
printf("Here are the number\n");
srand(time(&t));
for(i=0;i<1000;i++){
grades[i]=rand();
printf("%f\n", grades[i]);
}
for(i=0;i<1000;i++){
int swap=0;
for(j=i;j<1000;j++){
if(grades[i]>grades[j]){
temper=grades[i];
grades[i]=grades[j];
grades[j]=temper;
swap=1;
}
}
}
printf("sorting is done");
for(i=0;i<1000;i++){
printf("%f\n", grades[i]);
} }
您的程序運行正常。 嘗試將所有內容從1000更改為10,以進行測試並親自觀察。
發生的是,它是如此迅速地打印出所有內容,以至於第一個1000頁面不在頁面上。
代碼正確。
代碼對我來說也很好。 也許您的終端沒有存儲足夠的行供您查看輸出的開始。 您可以在終端的設置中進行更改。 或者,您也可以將它們放在文件中。 如果您用google搜索,有一個簡單的選擇。 另外,在兩者之間添加另一個printf作為標記,如下所示:
printf("+++++++++++++++++++++++++++ here is the break point ++++++++++++++++");
這將使它變得更加難以錯過。 祝好運!
PS:要將您的輸出顯示為文件,只需在運行程序時鍵入'> filename'。 我調用了我的math.c,因此在運行時鍵入:'$。/ math> file',然后將整個輸出存儲在名為'file'的文件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.