简单c语言程序,到底错在哪?



#include<stdio.h>
void change(char&a,char&b)
{
char temp=a;a=b;b=a;
}
void main()
{
char a='a',b='b';
printf("%c,%c\n",a,b);
change(a,b);
printf("%c,%c\n",a,b);
}
运行VC说错误是第二行missing ')' before '&'

我运行了 你程序没有棚悄李错误 你把char temp=a;a=b;b=a;

改成运氏b=temp就行了。链迟


change函数中的&是用作引用变量,是C++的语法,C语言不支持。
改岁漏正:要么把文件乎姿烂扩展名改为.cpp, 要么把&改为*(因册迟为是指针,调用时要用change(&a, &b))。
你写的程序就不对啊。定义一个change函数可是没有返回值。两个输出函数输出的肯定一样啊。不过戚郑纯高咐改成一楼的运行之后肯定是:a,b. a,b..
你想输出的是ab的机内码值丛清吧;
#include<stdio.h>
void change(char *a,char *b)
{
char temp=*a;
*a=*b;
*b=*a;
}
main()
{
char a='a',b='b';
printf("%d,%d\n",a,b);
change(&a,&b);
printf("%d,%d\n",a,b);
}
运行之后输出:
97,98
98,97
我的编译没有有错误。明升清可你的逻辑有错误:
char temp=a;a=b;b=a;
改为:
char temp=a;a=b;b=temp;

至于笑耐那个&,虽然c语言中不支持,可你若用VC的话也会兼容的激前。所以不用理会。

我运行握改了,铅败没问题槐皮颤啊