| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 837 人关注过本帖
标题:字符串输入问题,求解。。。
只看楼主 加入收藏
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
结帖率:90%
收藏
已结贴  问题点数:1 回复次数:12 
字符串输入问题,求解。。。
编写一个函数,从标准输入读取一个字符串并输出。  要求::这个函数不能对输入的字符进行长度限制。。   

  请大虾帮忙看一下啊,给点程序或思路啊。。。。多谢了啊。。。。
搜索更多相关主题的帖子: 字符串 
2011-05-03 19:35
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
...........gets就可以
语法:
  #include <stdio.h>
  char *gets( char *str );

 

gets()函数从STDIN(标准输入)读取字符并把它们加载到str(字符串)里,直到遇到新行(\n)或到达EOF. 新行字符翻译为一个null中断符. gets()的返回值是读入的字符串,如果错误返回NULL.


                                         
===========深入<----------------->浅出============
2011-05-03 19:41
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
收藏
得分:0 
用 gets 的话   char *gets( char *str );  里面的 str的地址是哪里呢??如果给他一个数组的话,那数组的长度就是一个限制啊??题目要求无长度限制,想好了再回答哦。。。。。。。

2011-05-03 19:44
风兮飞扬
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2011-05-03 19:46
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
char *p;
scanf("%s",p);
printf("%s",p);

   唯实惟新 至诚致志
2011-05-03 19:58
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
收藏
得分:0 
兄弟,指针是需要初始化地址地,没有地址的指针是很危险地。。。。。。
2011-05-03 20:03
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
这个只能满足最大限度的存放字符,如在内存中找一段最长且没被使用的空间来存放从stdin中读入的字符,但我却不知道怎样寻找这样一段内存空间。
第二种就像4楼那样,把存放字符串的数据结构改了,链表当然不是唯一的,这样就可以用getchar()和putchar()来低效率的读入字符,而且可以充分的利用内存空间。
至于算法LZ自己去想吧!

My life is brilliant
2011-05-03 21:16
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
程序代码:
#include <stdio.h>

int main (void) {

        char str[80],*ptr=str;
        gets(ptr);
        void disp(char *ptr);
        puts(ptr);
        return 0;

}

void disp (char *ptr) {
        while(*ptr)
                printf ("%c",*ptr++);
}


[ 本帖最后由 ansic 于 2011-5-3 22:15 编辑 ]

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-03 22:11
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:1 
#include <stdio.h>
int main(void)
{
    char c;
    while((c=getchar())!=EOF)
            putchar(c);
    return 0;
}
EOF表示文件结尾,在控制台下用Ctrl+Z就OK。
2011-05-03 23:40
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
用指针
2011-05-04 06:06
快速回复:字符串输入问题,求解。。。
数据加载中...
 
   



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

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