标题:请帮我解释一下
只看楼主
meishanhuang
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-2-12
结帖率:81.82%
已结贴  问题点数:10 回复次数:2 
请帮我解释一下
现有程序 #include <stdio.h>
          main( )
        { char a[ ]="1234567",*cp1,*cp2,s;
          cp1=a;cp2=a+6;
          printf("%d\n",*cp2);
         while(cp1<cp2)
        {s=*cp1++;*cp1=*cp2--;*cp2=s;}
         printf("%s",a);}
为什么输出结果为 55
                 1711717
搜索更多相关主题的帖子: include 
2012-04-13 21:18
liuxingar
Rank: 2
等 级:论坛游民
帖 子:22
专家分:43
注 册:2011-4-1
得分:5 
#include <stdio.h>
int main( )
{
    char a[]="1234567",*cp1,*cp2,s;
    cp1=a;cp2=a+6;

    printf("%d\n",*cp2);  //*cp2='7',它的ASCII码是55

    while(cp1<cp2)
    {
    s=*cp1++;
    *cp1=*cp2--;
    *cp2=s;
     }

    printf("%s",a);
}
2012-04-13 21:59
heifeng2012
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:53
专家分:113
注 册:2012-3-22
得分:5 
#include <stdio.h>
          main( )
        { char a[ ]="1234567",*cp1,*cp2,s;   //你定义的是char类型
          cp1=a;cp2=a+6;
          printf("%d\n",*cp2);               //输出的是%d类型,,,所以会转换成ASCII码
         while(cp1<cp2)
        {s=*cp1++;*cp1=*cp2--;*cp2=s;}
         printf("%s",a);}
2012-04-13 23:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-365729-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.219423 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved