C 交换两个数字,C 如何写两个数值交换

发布于 教育 2024-02-23
10个回答
  1. 匿名用户2024-01-25

    默认情况下,C 语言返回 i 整数值,但最好不要省略返回值类型,因为该类型不可读,以后使用时会引发错误。

    此外,在 swip 函数中交换值是没有用的,因为 c 中除数组名称之外的所有其他类型的参数都是传递引用的,即当前变量值的副本被传递给函数,而不是实际直接更改复制变量的值。 复制意味着,如果声明变量 x = 5 y = 7,那么当你调用函数 swip(x,y) x 时,y 是另外两个在内存中临时创建的局部变量,但它们的名称定义为 x、y,并且它们的值与之前定义的 x 和 y 相同。 但区别在于 SWIP

    x,y 将在 swip 函数执行后自动消失,它们的值也会随之消失。 结果是您的函数根本不使用 main 方法中声明的 x 和 y(这不容易绘制,也可能不清楚)。 因此,即使您的 swip 函数是正确的,您的 main 函数的输出也不会交换值。

    要使用 swip 函数转换值,您需要添加 .

    x , y 为 swip,而 swip 中的参数类型也应改为 swip(int *x , int *y) (int a ; a = *x , y = *x , x = a)如果你不明白,先看一下指针的内容,弄清楚函数调用和引用调用的值。我建议你看看<< C 和 Pointers“,希望能对您有所帮助。 此外,还有其他方法可以交换两个值,因此您不妨搜索它们。

  2. 匿名用户2024-01-24

    void swap (int &x,int &y)int a;

    a=x;x=y;y=a;

    #include

    void main()

    int x,y;

    scanf("%d %d",&x,&y);

    swap (x,y);

    printf("%d %d",x,y);

    首先,当 swap 函数没有定义返回值类型时,编译器默认会返回 int 类型,所以添加 void 而不定义返回类型是正确的。

    其次,房东的参数转移是值传递,两个数字不会交换,参数可以通过引用传递,比如我的更改,也可以通过指针传递;

    希望对房东有所帮助;

  3. 匿名用户2024-01-23

    你试试这个方式。

    #include

    void swap (int x,int y) 在这里没有 void 就可以了。

    int a;

    a=x;x=y;y=a;

    void main()

    int x,y;

    scanf("%d %d",&x,&y);

    swap (x,y);

    printf("%d %d",x,y);

    实际上,您的原始程序我的vc++也可以运行...

    此外,该函数会随着调用而死亡,因此最终结果不是输出两个交换的值。

  4. 匿名用户2024-01-22

    #include

    void swap (int x,int y) 函数类型加上 void 上行,你的程序不是错误,而是警告,如果不添加函数类型,默认是 void,但它会警告。

    int a;

    a=x;x=y;y=a;

    void main()

    int x,y;

    scanf("%d %d",&x,&y);

    swap (x,y);

    printf("%d %d",x,y);

  5. 匿名用户2024-01-21

    当我们使用C语言时,我们经常需要交换两个数字,那么我们该怎么做呢? 让我与你分享。

    dev c++

    在第一段中,我们将在 Dev C++ 软件中创建一个新的 C 语言项目,如下图所示。

    接下来,我们在 C 语言文件中声明两个数字并输出它们,如下图所示。

    然后将它们与中间变量交换,如下图所示。

    最后,我们可以运行编写好的 C 语言文件,我们可以看到交换结果,如下图所示。

  6. 匿名用户2024-01-20

    总结。 输入两个整数,输出交换后如何用C语言编程和写作。

    340 使用 C 来交换两个变量的值,你需要定义三个变量:includeint main()。

    输入两个整数,交换后输出 如何用C语言编程。

    输入两个整数,输出C语言如何编程和编写仿橙色 340 使用C语言交换两个变量的值,需要定义三个变量:includeint main()。

    这只猛禽怎么样。

    上面有哦。 您的头衔问题已发布。

    哪一个在**中输了?

    您的问题不是标题问题。

    我什么都听不懂。

    您的问题不是标题问题。

  7. 匿名用户2024-01-19

    要交换数字,必须回到每个位上的数字,int shuzi、gewei、shiwei;

    个位数是数字除以10的余数,十位数字是除以10向上舍入的数字,gewei=shuzi%10;

    shiwei=shuzi/10;

    交换很简单,找一个空变量来存储,int temp;

    temp=gewei;

    gewei=shiwei;

    shiwei=temp;

    最后,在数字的组成中,shuzi=shiwei*10+gewei;

  8. 匿名用户2024-01-18

    这两个部分之间的区别在于:

    第二段**:将数字 A 和 B 的地址传递到 swap() 函数中,两个地址相互交换(即两个指针指向的地址互换,但对应地址下的数字不变)。 因为对于函数 swap(),传入的两个地址是以值传递的形式,里面是局部作用域下的两个变量,这两个地址的“值”交换在调用时不会对参数产生影响。

    因此,交换失败了。

    此外,为了给你另一种写法,而不交换中间变量的两个值:

    a = b - a + b = a);无需将 a 和 b 的值与中间变量交换。

  9. 匿名用户2024-01-17

    第二个功能是更改指针,您可以尝试使用指针的指针。

  10. 匿名用户2024-01-16

    quicksort(a5,0,8);

    应该是。 quicksort(a5,0,7);可是明冲我修改了还是没激动它后悔,难道是递归有误。

相关回答
18个回答2024-02-23

int i,a=3,b=6;

int max=b;初始化 b 很大,如下判断,如果 a>b 给出一个最大值 >>>More

9个回答2024-02-23

#include

定义 n 50 * 可以是任何数字的阶乘,当然,计算机可以保存的下一个 * >>>More

14个回答2024-02-23

#include

#include >>>More

15个回答2024-02-23

#include

int main() >>>More

14个回答2024-02-23

首先,不建议现在学习C++,掌握C后学习C++会容易得多。 这次推荐你现在就读《C Primer Plus》,谭浩强的书比较笼统,这本书也比较详细! 读完之后,看看关于数据结构或计算机组合原理的书籍,以及关于算法的书籍! >>>More