这个C++程序输出的结果为什么是AGAAGAG呢?真心求教

供稿:hz-xin.com     日期:2025-01-12
这个C++程序输出的结果为什么是AGAAGAG呢?真心求教

{ a=*q1; *q1++=*q2; *q2--=a; } 这样应该是你要的结果。

a=*q1++ 之后 a= A q1指向B了已经 这是你把最后一个赋值给q1 了 所以这时是在赋值第二个为G

/*初始时,p1指向字符串第一个字符,p2指向字符串最后一个字符,while循环执行以下操作s保存p1指向的字符p1指向后一个字符将p2指向的字符赋给p1指向的内存p2指向前一个字符将s保存的字符赋给p2指向的内存这样就得到了最后的输出结果可以在循环中加上输出,就能看出整个过程的细节了*/#include#includevoid fun(char *w,int m){ char s,*p1,*p2;p1=w;p2=w+m-1;int i=1;while(p1<p2){ printf("%d. p1:%d,p2:%d
",i,p1,p2);printf(" *p1:%c,*p2:%c
",*p1,*p2);s=*p1++;*p1=*p2--; *p2=s;printf(" p1:%d,p2:%d
",p1,p2);printf(" *p1:%c,*p2:%c
",*p1,*p2);printf(" s:%c
",s);printf(" a:%s
",w);printf("
");i++;}}void main(){ char a[]="ABCDEFG";fun(a,strlen(a));puts(a);}

请采纳

ABCDEFG中每一个字母都有一个ASII值,其中fun函数中的p2是A的AsII值+a[]的个数即7然后减去1,就是P2的值。。。你可以去查一下Asii码。。。把字母都换成数字运算,最后得出数字,在转换成字母。。。

1、p1=ABCDEFG,p2=G,s=A,p1=BCDEFG,*p1=G,p2=FG,*p2=A;
2、p1=GCDEAG,p2=AG,s=G,p1=CDEFG,*p1=A,p2=EAG,*p2=G;
3、p1=ADGAG,p2=GAG,s=A,p1=DGAG,*p1=G,p2=DGAG,*p2=A;
4、p1=AGAG,p2=AGAG;
a=AGAAGAG

为什么答案是a c++
因为 g 和o的ASII码都是奇数,d的是偶数,偶数d%2==0,所以打印d

c语言,按要求输出图案,为什么输出时会有a
这句只把a[0][0]赋值' ',其它元素则自动初始化为0. 0 的ASCII码显示就是这样。照理应显空白,在不同的系统中不一样,我的是Dev C++ 5.0, 显的也是a.for(i=0;i<5;i++)for(j=0;j<9;j++) a[i][j]=' ';加在前面,如果显示一下是什么,请看下排是对应的ASCII码.....

C++输出语句 cout<<"a="<<a<<endl; return 0; 为什么在"a="还要有个a...
cout<<"a="<<a<<endl;中“a=”在“”内的要原样输出,不一定非要和后面的将要输出的变量一样。真正要输出的是变量a的值

c++ 为什么输出是这样
a = ++2 =>> i = 2+1;a = i; =>> a = 3; i = 3;明白这点了把。虽然最后i都等于3,但是a却结果不一样;这就是i++和++i的区别。第二,明白上面这点了,继续:c和c++编译运行的时候,顺序是不一样的。编译的时候,是从最右侧开始,运行的时候是从最左侧开始的。...

c++中,\/ 的含义是什么? 比如 char a='\/101' 的输出结果为什么是A?
应该是'\\101',斜线打错方向了,转义符,上面的'\\101'代表8进制 101,就是十进制65,字符A

这个C++程序输出的结果为什么是AGAAGAG呢?真心求教
ABCDEFG中每一个字母都有一个ASII值,其中fun函数中的p2是A的AsII值+a[]的个数即7然后减去1,就是P2的值。。。你可以去查一下Asii码。。。把字母都换成数字运算,最后得出数字,在转换成字母。。。

...如果没有后面的,a,那结果会是怎样?为什么要加上那个,a??_百度知 ...
a代表的是要输出的那个数啊,对应前面的%d啊,如果没有a的话,系统就不知道你要输出哪个变量的值了

c++中char数组初始化后在没有赋值的位置为什么显示为a
没有赋值的时候进行输出可能会输出任意字符(空字符也有可能)。因为char数组未赋值前,系统会令数组指针随机的指向任意一块可利用的地址。而这块可利用的地址也许在很久以前存储的字符为‘a’

在c++中, Char a[10]=“abcd” Cout《a《endl 为何输出的是abcd?
但C++中cout是被定义好的一个类的对象,它和运算符“<<”连用时<<发生重载,语义被解释为输出<<右端指示的字符串。具体是通过运算符重载实现,类似于调用函数,只是右操作数作为地址被传入这个函数,然后函数内解析地址进行输出。注意重载是区分类型的,所以如果a不是字符数组名而是int变量或者其它类型的...

c++ char类型有点不明白,为什么char c=’a‘,输出97, char c=97,输出...
其实97就是a的ascii码,你一个字符串实际上也需要有编码的才能存到计算机里,ascii码就是char类型的编码方式