scanf函数连用的问题,在线等答案!

光着膀子写代码 2010-09-19 10:04:28
代码:

int main(viod)
{
int vlan_id;
char str[] = {'\0'};

printf("请输入所要创建的vid:");
scanf("%d", &vlan_id);

printf("请输入vlanname:");
scanf("%s",str);
printf("%d,%s", vlan_id,str);
return 0;
}

结果:


//谁知道为什么两个scanf函数连用会导致我的第一个数据输入有问题?网上有人说是缓冲区,我觉得缓冲区影响的应该是第二个输入啊。
解决我的问题就结贴。
...全文
103 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢韩老师,和韩老师楼上的兄弟。已经结贴。
顺便一问:这个错误在内存里是如何体现的啊?就是说:vlan_id存放的会是什么?str只存储了一个字符,它里面又是什么?
  • 打赏
  • 举报
回复
越界了
char str[] = {'\0'};
改为
char str[100] = {'\0'};
justkk 2010-09-19
  • 打赏
  • 举报
回复
你的str空间分配不足,试试这样char str[100] = {'\0'};

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧