| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12373 人关注过本帖
标题:输入一个字符串存入字符数组,按相反次序输出其中的所有字符
只看楼主 加入收藏
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:24 
输入一个字符串存入字符数组,按相反次序输出其中的所有字符
#include<string.h>
void main()
{
char a[100],b[100],*pa=a,*pb=b;
int n;
gets(a);
n=strlen(a);
for (pa=a,pb=b+n-1;pb>=b;pb--,pa++)
 *pb=*pa;
printf("%s",pb);
getch();
}
程序如上,输入一个字符串存入字符数组,按相反次序输出其中的所有字符
请问哪里错了。调试无错误,怎么达不到我想要的结果啊

[ 本帖最后由 liangwenbc 于 2009-12-1 18:48 编辑 ]
搜索更多相关主题的帖子: 字符 输入 输出 
2009-12-01 18:41
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:1 
这种题有必要那么复杂吗?
#include<stdio.h>
void main()
{char a[100];int i,n;
printf("输入字符串长度");
scanf("%d",&n);
printf("输入字符串");
for(i=0;i<n;i++)
scanf("%c",&a[i]);
for(i=n-1;i>=0;i--)
printf("%c ",a[i]);
}
投机取巧式...只是倒着输出,
2009-12-01 18:50
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用andytony1234在2009-12-1 18:50:35的发言:

这种题有必要那么复杂吗?
#include<stdio.h>
void main()
{char a[100];int i,n;
printf("输入字符串长度");
scanf("%d",&n);
printf("输入字符串");
for(i=0;i<n;i++)
scanf("%c",&a);
for(i=n-1;i>=0;i--)
printf( ...
题目要求用指向数组的指针变量处理数组元素

qq7434391
2009-12-01 18:53
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
在处理数组问题时.本来就是以指针的方式处理的嘛..我知道你想说把数组换一下嘛,
你看这个,是我以前写的.用的函数的方式.
#include<stdio.h>
void main()
{int a[10],i; void nixu(int a[],int n);clrscr();
printf("input\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
nixu(a,10);
for(i=0;i<10;i++)
printf(" %d",a[i]);}



void nixu(int a[],int n)
{int i,t;
for(i=0;i<=(n+1)/2;i++)
t=a[i],a[i]=a[n-i-1],a[n-i-1]=t;}
2009-12-01 19:03
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用andytony1234在2009-12-1 19:03:53的发言:

在处理数组问题时.本来就是以指针的方式处理的嘛..我知道你想说把数组换一下嘛,
你看这个,是我以前写的.用的函数的方式.
#include<stdio.h>
void main()
{int a[10],i; void nixu(int a[],int n);clrscr();
printf(" ...
我看不懂你这个啊,你的程序里面有很多函数我还没学过。你只要给我说下我的哪里错了或者给我改下就可以了

qq7434391
2009-12-01 19:23
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
我全用语句写的耶...除了输入输出,哪里还有其它函数.你都用指针了..函数还没学?
那个nixu的函数..是自己定义的啊...你的那个程序我才是看不太明白..用到了数组里的函数..那我去翻下书吧...
2009-12-01 19:30
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
你再怎么样也得有#include<stdio.h>这个头文件吧...
2009-12-01 19:30
andytony1234
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:102
注 册:2009-11-9
收藏
得分:0 
你的指针用的乱七八糟的...我是这么觉得的..
printf("%s",pb);
你这句是什么意思啊..pb不是指针么.你要输出指针什么呢?
printf("%s",*pb);这样才对吧,但是输出了一个NULL的值..
for (pa=a,pb=b+n-1;pb>=b;pb--,pa++)
*pb=*pa                                    有这么给指针赋值的吗???
pa=&a   这样才是对的吧???

我觉得你这个简直就是乱写的..
2009-12-01 19:39
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:2 
        递归函数的逆序输(希望你能喜欢)
void fun(char *p)
{
  char s=*p;
   if(s){fun(++p);
          printf("%c",s);}
}
int main()
{
  char a[81];
  char *str;
  str=gets(a);
  fun(a);
   getch();
   return 0;
}

QQ群:96348241
2009-12-01 19:50
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用andytony1234在2009-12-1 19:39:09的发言:

你的指针用的乱七八糟的...我是这么觉得的..
printf("%s",pb);
你这句是什么意思啊..pb不是指针么.你要输出指针什么呢?
printf("%s",*pb);这样才对吧,但是输出了一个NULL的值..
for (pa=a,pb=b+n-1;pb>=b;pb--,pa++) ...
printf("%s",pb);是输出指针函数pb所指向的字符串啊。
printf("%s",*pb);这样就错了,*pb是指pb指向的单个元素
还有*pb=*pa;这个语句不对的吗?谁告诉我

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



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

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