promotion image of download ymail app
Promoted

c語言while裡面的if

為什麼while第二圈就不理迴圈結束的判斷了?

#include<stdio.h>

#include<stdlib.h>

int main()

{

int toy[5],*ptr[5],temp=0,i,j,e;

char x;

while(1)

{

printf("輸入x即結束");

scanf("%c",&x);

if(x=='x')

break;

printf("輸入5位同學成績\n");

for(i=0;i<5;i++)

{

scanf("%d",&toy[i]);

}

for(i=0;i<5;i++)

ptr[i]=&toy[i];

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

{

if(ptr[j]<ptr[j+1])

{

temp=ptr[j];

ptr[j]=ptr[j+1];

ptr[j+1]=temp;

}}}

for(i=0;i<5;i++)

printf("原本鍵入排序%d\n",toy[i]);

for(i=0;i<5;i++)

printf("由大到小排序%d\n",*ptr[i]);

printf("\n");

printf("最大值為%d\n最小值為%d\n",*ptr[0],*ptr[4]);

}

system("pause");

return 0;

}

1 個解答

評分
  • 5 年前
    最佳解答

    為什麼while第二圈就不理迴圈結束的判斷了?

    很簡單.是因為你在地一次迴圈輸入的'\n'沒有被scanf()跳過.

    還有,妳的城市有一堆警告.拜託妳清潔一下好嗎?

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。