原因也很簡單,問題是因為您不管是奇數還是偶數,都會走到printf("+")。
所以顯示"+"應該是有真的加值進來時,才顯示"+"才對。
所以簡單作法是
複製程式
if(i<100 &&(i%2 == 1) )
{
printf("+");
goto start;
}
目前手頭沒有compiler可以測,所以您可以先玩玩看。
如果不行,那就記得修改的條件是「有加入的值,才顯示"+"」但是這個要注意頭尾的問題。
個人還是建議不要用goto當迴圈使用。
希望對您有幫助~~
我比較偏好的寫法如下:
複製程式
int main(void)
{
int i=0,sum=0,;
start:
i+=1;
if(i%2 == 0) {
goto start;
}
sum+=i;
printf("%d",i);
if(i<100 && i != 99)
{
printf("+");
goto start;
}
printf("=%d\n",sum);
system("pause");
return 0;
}