这个利用指针和函数的程序哪错了, int * pa=&a;int * pb=&b;放到int a,b;下面就对了,这是为
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 06:23:01
这个利用指针和函数的程序哪错了, int * pa=&a;int * pb=&b;放到int a,b;下面就对了,这是为什么啊,谢谢
#include
void swap(int * p1,int * p2);
int main()
{
int a,b;
printf("input a,b:\n");
scanf("%d,%d",&a,&b);
int * pa=&a;
int * pb=&b;
swap(pa,pb);
printf("%d,%d",a,b);
return 0;
}
void swap(int * p1,int * p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
#include
void swap(int * p1,int * p2);
int main()
{
int a,b;
printf("input a,b:\n");
scanf("%d,%d",&a,&b);
int * pa=&a;
int * pb=&b;
swap(pa,pb);
printf("%d,%d",a,b);
return 0;
}
void swap(int * p1,int * p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
因为你是用C编译器编译的,不是用的c++编译器
你这是c++语法
改过以后才符合C99标准
再问: 为什么 int * pa=&a; 不能放在 scanf("%d,%d",&a,&b); 下面呢 int * pb=&b;
再答: c++允许变量在任何地方定义 而标准C只允许变量定义在头部 你有了printf这种表达式以后就不可以再定义int *pa=&a;了 因为这不符合ANSI C标准,当然也有的C编译器允许你这么做
你这是c++语法
改过以后才符合C99标准
再问: 为什么 int * pa=&a; 不能放在 scanf("%d,%d",&a,&b); 下面呢 int * pb=&b;
再答: c++允许变量在任何地方定义 而标准C只允许变量定义在头部 你有了printf这种表达式以后就不可以再定义int *pa=&a;了 因为这不符合ANSI C标准,当然也有的C编译器允许你这么做
这个利用指针和函数的程序哪错了, int * pa=&a;int * pb=&b;放到int a,b;下面就对了,这是为
有如下程序 int runc(int a,int b) { return(a+b);} main( ) { int x=
c语言这段程序看不懂int fun(int a,int b,int c){ int t; t=(a>b)?(b>c?b:
执行语句int a=10 ,b ; int &pa=a ,&pb=b ;后,下列正确的语句是( )
下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);}
#include int max(int a,int b,int c){\x05a=a>b?a :b ;\x05retu
#include int func(int a,int b) { int c; c=a+b;return c; } ma
C全排列问题请给出下面这个程序的注释 #include inline void swap(int &a,int &b){
C指针中,int a,b;int pa,pc;*pa= ﹠a,与﹡pc=b有什么区别?
(int)(a+b)和(int)a+b的区别
程序段 a = 10.5:b = Int(a + 0.5):Print b 的功能是______.
下面程序的运行结果是( ).main( ) { int a,b; int *p1=&a,*p2=&b,*t; a=10;