初中承诺书:初级c语言问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 16:07:52
void fun(char *a, char *b)
{ a=b; (*a)++; }
main ()
{ char c1=’A’, c2=’a’, *p1, *p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf(“%c%c\n”,c1,c2);
}
的结果是什么,并给我详细的解释一下为什么

输出为:Ab
void fun(char *a, char *b)
{
a=b;
(*a)++;
}
main ()
{
char c1='A', c2='a', *p1, *p2;//将c1赋值为A,将c2赋值为a
p1=&c1;p1指向c1
p2=&c2;p2指向c2
fun(p1,p2);
void fun(char *a, char *b)//a=p1,b=p2
{
a=b;//将a指向b a=p2
(*a)++;//将a(p2)指向的内容(值为'a')加1(为b)
}
printf("%c%c\n",c1,c2);//输出c1,c2的值为Ab
}

上面说得很好了,我无语