| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:新手求助:这段代码是哪里有问题呢,求大神指点!!!
只看楼主 加入收藏
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:9 
新手求助:这段代码是哪里有问题呢,求大神指点!!!
#include <stdio.h>
#include <stdlib.h>
/*
将输入的字符串倒过来输出(如输入'abcd',输出'dcba')
*/
int main(int argc, char *argv[])
{
    printf("请输入一串英文");
    char *p, ch1,  ch2;
    p = &ch1;
    int i=0;
    ch2 = getchar();
    while(ch2 != '\n')
    {
        *(p+i) = ch2;
        i++;
        ch2 = getchar();
    }
    i--;
    while(i >= 0)
    {
        printf("%c", *(p+i));
        i--;
    }
    printf("End");/*结束标志*/
   
    return 0;
}
搜索更多相关主题的帖子: include return 字符串 英文 
2014-01-20 10:20
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
你不觉的你的那种一行声明好几个不同类型的变量很累吗

程序代码:
#include <stdio.h>
#include <stdlib.h>
/*
将输入的字符串倒过来输出(如输入'abcd',输出'dcba')
*/
int main(int argc, char *argv[])
{
    printf("请输入一串英文");
    char *p;
    char ch1[100];
    char  ch2;
    p = ch1;
    int i=0;
    ch2 = getchar();
    while(ch2 != '\n')
    {
        *(p+i) = ch2;
        i++;
        ch2 = getchar();
    }
    i--;
    while(i >= 0)
    {
        printf("%c", *(p+i));
        i--;
    }
    printf("\nEnd");/*结束标志*/

    return 0;
}

DO IT YOURSELF !
2014-01-20 10:29
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:0 
回复 2楼 wp231957
我原意是不想用数组的,该这么弄呢
2014-01-20 10:34
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用yanglin_gdqy在2014-1-20 10:34:48的发言:

我原意是不想用数组的,该这么弄呢

如果不用数组的话  输入的字符串你准备给它放哪呢

DO IT YOURSELF !
2014-01-20 10:37
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:0 
回复 4楼 wp231957
就是放在&ch1和紧接着的那段内存吖,不可以这样放的吗
2014-01-20 10:41
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:0 
回复 4楼 wp231957
就是想解决类似于“在你改的代码程序里,输入超过100个字符”这样的问题。
2014-01-20 10:51
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:5 
char ch; 只获得了一个字节,后面紧邻的空间不属于你……
要说为什么的话,我想应该是因为我们现在用的c依附于系统,而系统要进行内存管理


莫问前尘有愧,但求今生无悔
2014-01-20 13:30
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:0 
回复 7楼 pycansi
明白,用数组的话,假如数组定义是100个元素,但输入超过100个字符时就会乱套了,另外,定义数组元素过多就会浪费内存。。。该怎么解决呢?
2014-01-20 17:18
铭子
Rank: 2
等 级:论坛游民
帖 子:10
专家分:44
注 册:2014-1-20
收藏
得分:5 
在C阶段,可以先不考虑,浪费内存的事情,将来学习C++,有标准库帮你解决这个问题。
但是这里你要搞的话,可以动态的new字符, 用数据结构的链表串起来也可以啊,练习下呗。

C++一起学,QQ群:243710676
2014-01-20 18:42
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:5 
不用数组的话、我可能会选择结构体和指针。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2014-01-20 20:01
快速回复:新手求助:这段代码是哪里有问题呢,求大神指点!!!
数据加载中...
 
   



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

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