Я пытался создать программу, в которой, если я введу целое число, программа обнаружит большее число и вычтет его на меньшее число. Эта часть, я понял.
Проблема в том, что бесконечная часть l oop.
Я пытался заставить type in two integers
продолжать печатать, пока l oop, и break
, когда набирается хотя бы один символ.
Например, если я наберу 2 @
, он сломается.
Но я не мог найти место записи для получения break;
в коде, и поэтому всякий раз, когда я вводил символ, он продолжал создавать бесконечное l oop.
Is Есть ли способ создать разрыв в этом коде? Я смиренно прошу совета ...
Ниже приведен код, который я не смог поставить break
(Кстати, причина, по которой я выполнил условие, пока sizeof(i)==4 || sizeof(j)==4
состояла в том, чтобы его выполнить поэтому он будет вводить только целое число, так как размер целого числа равен 4)
int main()
{
int i, j;
int result;
while (sizeof(i)==4 || sizeof(j)==4){
printf("type in two integers : ");
scanf("%d %d", &i, &j);
if (i < j) {
result = j - i;
}
else if (j < i){
result = i - j;
}
printf("%d\n", result);
}
return 0;
}
Нижний код - это тот, который я пытался поставить break
, но не смог (он продолжал создавать бесконечное l oop) ...
int main()
{
int i, j;
int result;
while (sizeof(i)==4 || sizeof(j)==4){
if (sizeof(i) == 4 || sizeof(j) == 4) {
printf("type in two integers : ");
scanf("%d %d", &i, &j);
if (i < j) {
result = j - i;
}
else if (j < i) {
result = i - j;
}
printf("%d\n", result);
}
else
break;
}
return 0;
}
и вот код, в котором я избавился от sizeof
и использовал while(1)
, хотя в том факте, что break
не сделал больших изменений, особых изменений не было т работа ...
int main()
{
int i, j;
int result;
while (1){
printf("type in two integers : ");
scanf("%d %d", &i, &j);
if (i < j) {
result = j - i;
}
else if (j < i) {
result = i - j;
}
printf("%d\n", result);
}
return 0;
}