| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12373 人关注过本帖
标题:输入一个字符串存入字符数组,按相反次序输出其中的所有字符
取消只看楼主 加入收藏
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:7 
输入一个字符串存入字符数组,按相反次序输出其中的所有字符
#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
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
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
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
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
拜托了,哪位告诉我的程序出错在哪啊。

qq7434391
2009-12-01 20:49
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
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
郁闷啊

qq7434391
2009-12-01 21:41
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用广陵绝唱在2009-12-1 22:06:42的发言:

按你的程序改的:



#include<stdio.h>
#include<string.h>
main()
{
    char a[100], b[100], *pa = a, *pb = b;
    int n;
    gets(a);
    n = strlen(a);
    for (pa = a, pb = b + n, *pb = 0, pb--; pb > ...
你终于说到点子上了。感激不尽啊,懂了,呵呵

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



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

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