C++ 无法将int转换为int*
//我要。。无法将int转换为int* 有人能告诉我为什么吗。如何解决呢 问候 希望得到快速而积极的响应。您对C++ 无法将int转换为int*,c++,c,C++,C,//我要。。无法将int转换为int* 有人能告诉我为什么吗。如何解决呢 问候 希望得到快速而积极的响应。您对swap()的呼叫应包括以下符号: #include "stdio.h" #include "conio.h" void swap(int *x,int *y); void main() { int a=10,b=20; swap(a,b); printf("value of a=%d and b=%d"); getch(); } void swap(int *x,int *y)
swap()
的呼叫应包括以下符号:
#include "stdio.h"
#include "conio.h"
void swap(int *x,int *y);
void main()
{
int a=10,b=20;
swap(a,b);
printf("value of a=%d and b=%d");
getch();
}
void swap(int *x,int *y)
{
if(x!=y)
{
*x ^= *y;
*y ^= *x;
*x ^= *y;
}
}
swap
需要指向int
的指针,所以在传入a
和b
时需要取它们的地址。是的,正是我要说的,所以+1或等效的无效交换(int*x,int*y)
应该是无效交换(int&x,int&y)
(当然还有修改过的主体)@doc:这对C来说不是真的,它也是一个标签(只是为了完整和迂腐),我认为整个delimma的正确解决方案是让人们真正决定他们使用的语言。与流行的信念相反,C代码与C++代码不一样。它应该是printf(“a=%d和b=%d的值”,a,b)代码>。除了您手头的问题之外,还有一些备注:conio不是标准头,stdio不应该通过双引号包含,void main也不在标准中。虽然它可以在您给定的工具链中工作,但编写可移植且符合标准的代码可能是一个好主意。您的目标是哪种语言?不要只是在上面加上语言标签。而且,听起来你需要学习基础知识。与这个问题无关,除非你完全清楚swap算法的作用和原因,否则你不应该使用它。你应该好好读一读:15.6k的分数和这么简单的错误?
swap(&a,&b);