在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程序中的编码然后我写的代码是不同的的主要内容,如果未能解决你的问题,请参考以下文章

C语言不定义中间变量交换两个数字的源码

生成C ++中N个数字中的所有R位数字(组合,迭代)?

实现两个数字的交换(C语言)

看了CI源码后的一些基本问题

c语言把数字字符串中的数字相加的程序

Flutter App 中的 Google 地图未显示