C# 求输出值

来源:百度知道 编辑:UC知道 时间:2024/06/24 00:25:06
#include<stdio.h>
#include<string.h>
void fun(char *c,int d)
{*c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
}
main()
{char a='A',b='a';
fun(&b,a);printf("%c,%c,",a,b);
}

输出几 为什么啊?

输出b,B,A,b;
#include<stdio.h>
#include<string.h>
void fun(char *c,int d)
{*c=*c+1;d=d+1; //这条语句首先把C所指向的b的地址的内容加一,再用C指向该地址,所以输出*C为b,而后面传过来的a的值赋给d,加一赋给d,输出为B,但并没有改变原来的值,
printf("%c,%c,",*c,d);
}
void main()
{char a='A',b='a';
fun(&b,a);
printf("%c,%c,",a,b); //此时a未变,b内的值已变为b,所以输出,A,b
}

自己试试不就知道了么?输出'B','a'