c语言关于scanf(“%d%s%d”,&st.num,st.name,&st.age)中输出是字符串和数字连起来了,求解!如图:

[复制链接]
查看11 | 回复3 | 2011-12-2 21:25:50 | 显示全部楼层 |阅读模式
因为计算机系统的占位符是%s%d连在一起的,而曹操12也是连在一起的,所以计算机系统默认的将曹操视为%s所表示的字符串范围,而把12看成是%d的范围...
回复

使用道具 举报

千问 | 2011-12-2 21:25:50 | 显示全部楼层
应该是副作用引起的,你将输入语句改下试试。将原来的%S和st.name取消,然后在scanf语句下面加上一句:st.name=gets();...
回复

使用道具 举报

千问 | 2011-12-2 21:25:50 | 显示全部楼层
scanf(“%d%s%d”,&st.num,st.name,&st.age)应该是这样的scanf(“%d%s%d”,&st.num,&st.name,&st.age)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行