A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Melody_cw 中级黑马   /  2014-7-20 01:12  /  1386 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Melody_cw 于 2014-7-20 09:21 编辑

在搜索的资料里面知道了,gets()是接一个字符串然后放到一个字符数组中,getchar()是讲字符接受放到数组里面,谁能给我讲解下,我对这个概念还是很抽象。还有为什么不能用scanf("%s",name)来接受我输入的字符串呢

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

5 个回复

倒序浏览
首先 前面的那个是 字符串 而后面那个是字符,内存空间不一样大。scanf也可以,但是要注意,如果是字符串 要用%s 是单个字符用%c
回复 使用道具 举报
Moebius 发表于 2014-7-20 01:24
首先 前面的那个是 字符串 而后面那个是字符,内存空间不一样大。scanf也可以,但是要注意,如果是字符串  ...

#include<stdio.h>
int main()
{
        char name[5];
        scanf ("%s",&name);
        printf("%s",name);

        return 0;
}
这里入股哦我输入的是i love you,则最后得到的结果只是一个i
回复 使用道具 举报

你字符串的长度就5  输入的字符太多,越界了。
回复 使用道具 举报
1、printf和puts区别
puts 一次性只能输出一个字符串,puts 会自动换行
printf 可以输出多个,printf要手动\n换行
2、scanf 和gets区别
scanf 可同时接收多个字符串,不能读取用户输入的tab键和空格,你输入i love you 有空格了
gets 只能接收一个字符串,可以读取用户输入的tab和空格
3、 putchar和getchar
putchar输出一个字符
getchar 接收一个字符,可以读取空格,tab, 有返回值

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

回复 使用道具 举报
为梦想挺身而出 发表于 2014-7-20 07:54
1、printf和puts区别
puts 一次性只能输出一个字符串,puts 会自动换行
printf 可以输出多个,printf要手动\ ...

太棒了,一下就豁然开朗,非常感谢!请版主给你加分!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马