-
默认情况下,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“,希望能对您有所帮助。 此外,还有其他方法可以交换两个值,因此您不妨搜索它们。
-
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 而不定义返回类型是正确的。
其次,房东的参数转移是值传递,两个数字不会交换,参数可以通过引用传递,比如我的更改,也可以通过指针传递;
希望对房东有所帮助;
-
你试试这个方式。
#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++也可以运行...
此外,该函数会随着调用而死亡,因此最终结果不是输出两个交换的值。
-
#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);
-
当我们使用C语言时,我们经常需要交换两个数字,那么我们该怎么做呢? 让我与你分享。
dev c++
在第一段中,我们将在 Dev C++ 软件中创建一个新的 C 语言项目,如下图所示。
接下来,我们在 C 语言文件中声明两个数字并输出它们,如下图所示。
然后将它们与中间变量交换,如下图所示。
最后,我们可以运行编写好的 C 语言文件,我们可以看到交换结果,如下图所示。
-
总结。 输入两个整数,输出交换后如何用C语言编程和写作。
340 使用 C 来交换两个变量的值,你需要定义三个变量:includeint main()。
输入两个整数,交换后输出 如何用C语言编程。
输入两个整数,输出C语言如何编程和编写仿橙色 340 使用C语言交换两个变量的值,需要定义三个变量:includeint main()。
这只猛禽怎么样。
上面有哦。 您的头衔问题已发布。
哪一个在**中输了?
您的问题不是标题问题。
我什么都听不懂。
您的问题不是标题问题。
-
要交换数字,必须回到每个位上的数字,int shuzi、gewei、shiwei;
个位数是数字除以10的余数,十位数字是除以10向上舍入的数字,gewei=shuzi%10;
shiwei=shuzi/10;
交换很简单,找一个空变量来存储,int temp;
temp=gewei;
gewei=shiwei;
shiwei=temp;
最后,在数字的组成中,shuzi=shiwei*10+gewei;
-
这两个部分之间的区别在于:
第二段**:将数字 A 和 B 的地址传递到 swap() 函数中,两个地址相互交换(即两个指针指向的地址互换,但对应地址下的数字不变)。 因为对于函数 swap(),传入的两个地址是以值传递的形式,里面是局部作用域下的两个变量,这两个地址的“值”交换在调用时不会对参数产生影响。
因此,交换失败了。
此外,为了给你另一种写法,而不交换中间变量的两个值:
a = b - a + b = a);无需将 a 和 b 的值与中间变量交换。
-
第二个功能是更改指针,您可以尝试使用指针的指针。
-
quicksort(a5,0,8);
应该是。 quicksort(a5,0,7);可是明冲我修改了还是没激动它后悔,难道是递归有误。
int i,a=3,b=6;
int max=b;初始化 b 很大,如下判断,如果 a>b 给出一个最大值 >>>More
#include
定义 n 50 * 可以是任何数字的阶乘,当然,计算机可以保存的下一个 * >>>More
首先,不建议现在学习C++,掌握C后学习C++会容易得多。 这次推荐你现在就读《C Primer Plus》,谭浩强的书比较笼统,这本书也比较详细! 读完之后,看看关于数据结构或计算机组合原理的书籍,以及关于算法的书籍! >>>More