标题:关于字符串方向排列
只看楼主
续写忧伤qcb
Rank: 2
等 级:论坛游民
帖 子:8
专家分:11
注 册:2011-10-14
结帖率:100%
 问题点数:0 回复次数:4 
关于字符串方向排列
#include< stdio.h >
void rev( char *str )
{
    char *last;
    //last指向最后一个字符
    for( last = str; *last != '\0'; last++ )
        ;
    last--;
     while( str < last )
     {
         char temp;
         temp = *str;
         *str = *last;
         *last = temp;
         str++;
         last--;
     }
}

void main ( void )
{
    char  *b;
    char a[]= "abcdef";
    b=a;
    rev( a );
    printf( "%s",b);
}
吧字符串“abcdef‘反向输出。
为什么我用char *a="abcdef";得不到结果呢??
搜索更多相关主题的帖子: include 字符串 while 
2011-10-21 21:59
nomify
Rank: 5Rank: 5
等 级:职业侠客
帖 子:79
专家分:366
注 册:2011-10-13
得分:0 
常量不能改呀。
2011-10-21 22:31
DefineFeel
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:57
专家分:136
注 册:2011-10-18
得分:0 
char *a = "abcdef";//是一个char *型变量,位于常量存储区 不可更改指针指向的数据
char a[] = "abcdef";//一个char型数组
所以用char *a得不到你要的结果
2011-10-21 22:48
苦雪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:44
专家分:114
注 册:2011-5-29
得分:0 
"abcdef" 是常量,是不能改的
2011-10-21 23:03
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
char *a = "abcdef";//abcdef是一个char *型变量,位于常量存储区 不可更改指针指向的数据
char a[] = "abcdef";//abcdef是一个char *型变量,位于常量存储区,但是用char a[]相当于在函数的栈上弄了一个字符串"abcdef"的拷贝,并且是拷贝到char a[]里

总有那身价贱的人给作业贴回复完整的代码
2011-10-21 23:25



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




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

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