在ci中交换两个数字只是google c程序中的编码然后我写的代码是不同的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ci中交换两个数字只是google c程序中的编码然后我写的代码是不同的相关的知识,希望对你有一定的参考价值。
我想在c中编写一个程序来交换两个数字。我只是谷歌编程c程序然后我写的代码是不同的。有一些误解我无法弄清楚。请有人强调我的问题,谢谢。
在这里我把num1,num2,temp作为变量。然后我将临时值分配给num1,知道后来temp将其分配给num2的值(我认为第4行和第5行将第7行printf作为num1由于交换而将值设为num2。然后,第6行将第8行printf作为num2的值作为num1的值。不幸的是,结果不同
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
答案
你应该做 :
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变量中保存一个数字,然后你可以运行用第二个数字保存的值的变量,然后将你保存在temp中的数字放在num1中。
请注意,您可以在没有Temp变量的情况下以更优雅的方式执行此操作:
num1 = num1 + num2
num2 = num1 - num2
num1 = num1 - num2
试试吧!
以上是关于在ci中交换两个数字只是google c程序中的编码然后我写的代码是不同的的主要内容,如果未能解决你的问题,请参考以下文章