#include <stdio.h> int main (void) { int i, status, value, value2; for(i = 0; i < 10; i++) { fprintf(stderr, "値1 >>> "); //エラー出力 status = scanf(" %d", &value); //値1に入力する. if(EOF == status) break; fprintf(stderr, "値2 >>> "); //エラー出力 status = scanf(" %d", &value2);//値2に入力する. if(EOF == status) break; fprintf(stderr, "和・差・積\n"); printf("%2d %2d %2d", value + value2, value - value2, value * value2); //和.差.積. } return 0; }printf("%2d %2d %2d", value + value2, value - value2, value * value2);においてCygwin上で表示すると
値1 >>> 3
値2 >>> 4
和・差・積
値1 >>> 7 -1 12
となり
printf("%2d %2d %2d\n", value + value2, value - value2, value * value2);だと
値1 >>> 3
値2 >>> 4
和・差・積
7 -1 12
値1 >>>
となります。こちらが求めているほうです。
気になるのは前者のほうで、なぜfor文のアタマの値1 >>>が先に出力されでから7 -1 12となるのでしょうか?