поменять местами два числа в ci, просто google кодировки в программе c, тогда коды, которые я написал, были другими - PullRequest
0 голосов
/ 14 апреля 2019

Я хочу написать программу на c, чтобы поменять местами два числа. Я просто гуглю кодировки в программе c, тогда коды, которые я написал, были другими. Есть какое-то недоразумение, я не могу понять это. Пожалуйста, кто-то подчеркнул мою проблему, спасибо.

здесь я взял num1, num2, temp в качестве переменных. затем я присвоил временное значение для num1, зная, что позже этот temp получит его значение num2 (как я думал, строка 4 и строка5 выдаст строку 7 printf в качестве значения num1 как num2 из-за перестановки. Затем в строке 6 строка 8 printf задает значение num2 в качестве значения num 1. К сожалению, результаты были другими

int num1,num2,temp;
    printf("give no 1 and no 2  ");
    scanf("%d %d",&num1, &num2);
   num1=temp;
   temp=num2;
   num2=num1;
 printf("\n After swapping,num1=%d" ,num1);
    printf("\n afterswapping, num2=%d",num2);

ожидаемые два числапоменял местами, какие бы значения я ни давал переменным, я получил выходной num1 как 34 и num2 также 34

1 Ответ

0 голосов
/ 14 апреля 2019

Вы должны сделать:

int num1,num2,temp;
    printf("give no 1 and no 2  ");
    scanf("%d %d",&num1, &num2);
    temp = num1;
    num1 = num2;
    num2 = temp;
    printf("\n After swapping,num1=%d" ,num1);
    printf("\n afterswapping, num2=%d",num2);

Нарисуйте таблицу отслеживания и убедитесь, что то, что вы написали, не выполняет обмен.FOA, сохраните одно число в переменной temp, затем вы можете запустить переменную значения, сохраненную со вторым num, и сразу после этого поместить то, что вы сохранили в temp, в num1.

Обратите внимание, что вы можете сделать это более элегантно без переменной Temp:

num1 = num1 + num2
num2 = num1 - num2
num1 = num1 - num2

Попробуйте!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...