1樓:匿名使用者
#include
#define max 100
typedef struct students;
int main() ;
for (i = 0; i < num; ++i)imax = imin = 0;
for (i = 1; i < num && i < max; ++i)
printf("最好的成績是:%d\n",stu[imax].grades);
printf("最差的成績是:%d\n",stu[imin].grades);
return 0;}
c語言中的一道題 求程式的輸出結果 為什麼我求出來是1 2 2 呢?而答案是1 2 3 啊
2樓:匿名使用者
你的情況是:來
while(n++<=1)中是先取n值判斷源後再n++,因此第一次n=0判斷有效,n變為1並執行迴圈體;
第二次n=1判斷仍有效,n變為2並執行迴圈體,第三次n=2判斷無效,n++被忽略。
但實踐中由於編譯器的實現不同,可能導致第三次半段無效時n++未被忽略-理論上是不應該忽略的。所以給的答案是1 2 3。
所以問題可能出在你使用的編譯器上。
我用tc2.0編譯器、tcc編譯器和cygwin下的gcc編譯器執行結果均為:1 2 3。
不知道你用的什麼編譯器?
難怪。這主要是編譯器的問題。 我用vc6.
0測試了,如果debug模式沒有問題,release模式有問題,只有1 2。 我估計是release優化出錯。所以檢視了一下,如果以速度優化,則輸出1 2。
預設模式則跟debug一樣。最小尺寸優化也只輸出兩個。自定義優化跟預設模式一樣。
所以問題出在編譯器及project設定上。
所以正確答案應是三個:1 2 3。
3樓:光明左右二使
你忽略了最後一次,n = 2的時候,還是會計算n++ <= 1的,這個時候 因為n > 1,所以沒有進迴圈(在括號處求的值),但是編譯器還是對n++求了一次值,不然,怎麼知道n++ 已經不符合條件了
4樓:匿名使用者
當n=1時(第二次迴圈),1<=1滿足,那麼n加一,然後執行迴圈體
此時n=2,進入n++<=1中,由於2<=1不成立,應該跳出迴圈啦,但n還要加1的,因為n++<=1是一個語句。此時n=3了。
一道簡單c語言指標問題程式設計題!麻煩高手幫我改的簡單容易理解,英文單詞別很多還難!麻煩了
5樓:匿名使用者
#include
#include
#define n 40
void main()
puts(a); //修改}
一道c語言程式設計題,各位大神幫幫忙啊!
6樓:匿名使用者
**如下:
#include
#include
int main()
if (score < min)
count++;
scanf("%d", &score);
}printf("共錄入了 %d 個學生成績。\n", count);
printf("最高分:%d\n", max);
printf("最低分:%d\n", min);
printf("平均分:%d\n", sum / count);
system("pause");
return 0;}
7樓:偶璧以力勤
樓上的速度真快,我也做好了,我的更仔細.我們的結果是一樣的,只是求ex用的函式不一樣.
望採納!
一道簡單的c語言題,一道簡單的C語言題
這道題的答案是和具體的平臺有關的,因為按照c c 的語言定義,沒有明確規定型別如int,long,double,char,等的大小,僅僅規定了它們相互之間的大小關係,如1 sizeof char sizeof short sizeof int sizeof long 具體到你這道題,如果以32位wi...
一道c語言程式設計題急求答案,一道C語言程式設計題急求答案
c語言程式 include stdio.h 對陣列進行排序 void sort int arr,int n void main int n 10 int max double avg 0.0 int i max arr 0 avg arr 0 for i 1 i max avg n sort arr...
一道C語言程式設計題,救救小白吧,一道C語言程式設計題,求大神救小白!
include void trans int n for i 0 i 一道c語言程式設計題,求大神救小白!include main 如圖所示,望採納。一道簡單的c語言程式設計題 include int main int n,i,j scanf d n for i 0 i 一道c語言程式設計題。急。實...