| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12373 人关注过本帖
标题:输入一个字符串存入字符数组,按相反次序输出其中的所有字符
只看楼主 加入收藏
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:0 
%s  已经代表首地址了。。
    没必要在家*号..
这个对   printf("%s",pb);

这个错.. printf("%s",*pb);

[ 本帖最后由 xy4919961 于 2009-12-1 20:05 编辑 ]

QQ群:96348241
2009-12-01 20:01
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
麻烦你再好好看看书,大哥...
2009-12-01 20:26
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
11楼,你是高手..可是我看谭浩强书上,不是你这么说的啊.....printf("%d",*(arr+i));谭浩强书上.240页.倒数第五行....
2009-12-01 20:28
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 13楼 andytony1234
楼主的代码中输出的是字符串,而你的例子中输出的是一个整型值,指针加* 就是取这个值。
2009-12-01 20:31
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
还是觉得楼主写得..呃,可能是我自己的指针没学好吧,也的确,没看多少..还停留在语句,和函数上.
不过啊,不过啊,处理数组的时候..不就是,按指针来的吗,他们共用一个内存地址...
2009-12-01 20:34
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
按照楼主的思路来写:


程序代码:
#include <stdio.h>
#include<string.h>
#define N 100
int main(void)
{
    char a[N],b[N];
    char *p_a,*p_b;
    scanf("%s",a);
    p_b=b;
    p_b+=strlen(a);
    *(p_b)='\0';
    for(p_a=a;*p_a;)
    {
        *--p_b=*p_a++;
    }
    puts(p_b);
    return 0;
}

2009-12-01 20:47
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
拜托了,哪位告诉我的程序出错在哪啊。

qq7434391
2009-12-01 20:49
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:0 
以下是引用andytony1234在2009-12-1 20:26:32的发言:

麻烦你再好好看看书,大哥...
是我好该看书还是你该看书.?
 %s 是输出字符串。。你的%d 是输出指针只向的那地址的值所以要加*
 %s 不用加*。.
    谢谢..

QQ群:96348241
2009-12-01 20:52
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
楼上,我是说楼主看看书....我是说你是高手.
2009-12-01 20:57
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用广陵绝唱在2009-12-1 20:47:53的发言:

按照楼主的思路来写:



#include <stdio.h>
#include<string.h>
#define N 100
int main(void)
{
    char a[N],b[N];
    char *p_a,*p_b;
    scanf("%s",a);
    p_b=b;
    p_b+=strlen(a);
    *(p_b)='\0';
 ...
我还没学过函数啊看不懂你的啊,我只想知道我那程序的问题出在哪啊

qq7434391
2009-12-01 20:57
快速回复:输入一个字符串存入字符数组,按相反次序输出其中的所有字符
数据加载中...
 
   



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

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