LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 462|回复: 2

关于scanf的小问题

[复制链接]
发表于 2004-6-5 13:35:24 | 显示全部楼层 |阅读模式
我先定义一个结构体,如下:
struct stu{
char name[10];
char address;
}boya;
下面是scanf语句:
scanf("%s%c",boya.name,&(boya.address));
执行结果却发现,boya.address里面并没有内容,但如果在%s与%c之间加入空格就可以得到预先想要的结果,不知为什么!请高手指教。!~~~~~
附件里面是源代码
发表于 2004-6-5 14:25:24 | 显示全部楼层
因为所有输入的内容都可以看作是一个字符串,所以前面的%s就接受了全部的输入,加入空格的办法也有问题,如果输入的name里有空格的话就会出问题。
建议还是分两次输入,而且scanf输入字符串可能造成缓冲区溢出,用fgets比较好。
 楼主| 发表于 2004-6-5 14:33:10 | 显示全部楼层
非常感谢!~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表