| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:望大侠指教???????
只看楼主 加入收藏
sdmscu
Rank: 2
等 级:论坛游民
帖 子:32
专家分:15
注 册:2010-7-7
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:15 
望大侠指教???????
本人想研究下 gets()和getchar()的区别  特意编了个小程序,可怎么总是通不过,请高手指点??

#include<stdio.h>
int main(void){
    int i;
    char c[10],a;
   
    c[]=gets();
    a=getchar();

   
    for(i=0;i<10;i++)
        printf("%s",c[i]);
    printf("%c",a);
    return 0;
}
搜索更多相关主题的帖子: 指教 
2010-08-14 18:15
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:1 
以下是引用sdmscu在2010-8-14 18:15:24的发言:

本人想研究下 gets()和getchar()的区别  特意编了个小程序,可怎么总是通不过,请高手指点??

#include "stdio.h"
int main(void){   //      main()
    int i;
    char c[10],a;
   
    c[]=gets();   //       gets(c);
    a=getchar();  

   
    for(i=0;i<10;i++)
        printf("%s",c);  //printf("%c",c[i]);
    printf("%c",a);     
    return 0;
}
按照红色的改改看看???

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-14 18:25
新浪
Rank: 3Rank: 3
来 自:水星
等 级:论坛游侠
威 望:1
帖 子:770
专家分:167
注 册:2008-6-10
收藏
得分:1 
int main(void){   //      main()

经典,/

天下皆醒,唯我独醉;  天下皆白,唯我独黑
2010-08-14 18:30
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:1 
那种地方不需要改

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2010-08-14 19:16
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
以下是引用waterstar在2010-8-14 19:16:27的发言:

那种地方不需要改
不改也可以,但是我感觉看着不舒服。。。。。。

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-15 10:46
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:1 
回复 楼主 sdmscu
2楼已经写得很清晰了~

不过这里可以这样改:
  把for(i=0;i<10;i++)
        printf("%s",c[i]);改成:
printf("%s",c);//for循环省了,是否更简单呢??


向前走着……
2010-08-15 11:34
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:1 
把gets放入FOR里面,不然你只能读一次gets,能测试字符串吗?
初学者向各位学习了
2010-08-15 11:57
小王爷
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-8-14
收藏
得分:1 
#include<stdio.h>
int main(void){

    int i;
    char *c,a;//用指针吧,用字符总是不对
    c=gets(c);//里面应该有参数
    a=getchar();
    printf("%s\n",c);
    printf("%c",a);
    return 0;
}
2010-08-15 13:30
小王爷
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-8-14
收藏
得分:0 
#include<stdio.h>
int main(void){

    int i;
    char *c,a;//用指针吧,用数组总是不对
    c=gets(c);//里面应该有参数
    a=getchar();
    printf("%s\n",c);
    printf("%c",a);
    return 0;
}
刚才打错两个字,字符改成数组
2010-08-15 13:31
sdmscu
Rank: 2
等 级:论坛游民
帖 子:32
专家分:15
注 册:2010-7-7
收藏
得分:0 
回复 2楼 jack10141
你好像把我写的引用错了    我本来就是写的c[i];


还有  想问一下

#include<stdio.h>
int main(void){
    int i;
    char c[10],a;
   
    gets(c);
    a=getchar();

   

        printf("%s",c);
    printf("\n%c",a);
    getch();
    return 0;
}


为什么  我对C的输入已经超出了  数组的限制   
还是能能输出结果呢

例如:
我输入了 dsfdsffdsfdsfdsf
         hfsdfsd

输出:dsfdsffdsfdsfdsf
         h



为什么第一行输出的不是前10个字符呢??????   高手指教!
2010-08-15 21:59
快速回复:望大侠指教???????
数据加载中...
 
   



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

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