c语言scanf问题 int a,b;当scanf("%d %d",&a,&b);时 输入123a 用printf输出a b时,会显
c语言scanf问题inta,b;当scanf("%d%d",&a,&b);时输入123a用printf输出ab时,会显示a=123,b=一个随机数字,为什么?...
c语言scanf问题 int a,b;当scanf("%d %d",&a,&b);时
输入123a 用printf输出a b时,会显示a=123,b=一个随机数字,为什么? 展开
输入123a 用printf输出a b时,会显示a=123,b=一个随机数字,为什么? 展开
4个回答
展开全部
a,b使用前没有初始化,是一个不确定的值,输入123a后,b没有被赋值,所以输出这个随机值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%d只能接受合法整数.
输入时, 123被用来赋值a, a=123
赋值b的时候,发现字母是a, 不是合法数值,所以退出scanf
b没有被赋值, 就还是初始值.
而int a,b; 局部变量没有初始化时,值随机.
输入时, 123被用来赋值a, a=123
赋值b的时候,发现字母是a, 不是合法数值,所以退出scanf
b没有被赋值, 就还是初始值.
而int a,b; 局部变量没有初始化时,值随机.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-10-17
展开全部
因为数字变量b未初始化
~
~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询