计算机二级C语言程序的一个题目,不知道答案怎么来的。求解析
变量i、j、k已定义为int型并均有初值0,用一下语句进行输入时:scanf("%d",&i);scanf("%d",&j);scanf("%d",&k);从键盘输入:1...
变量i、j、k已定义为int型并均有初值0,用一下语句进行输入时:scanf("%d",&i);scanf("%d",&j);scanf("%d",&k); 从键盘输入:12.3,<CR> 则变量I.J.K的值分别是多少。答案是12、0、0,求解释,越详细越好,初值是什么,如果有初值为什么还要赋值?他们的区别是什么?没在书上看到,所以不懂
展开
展开全部
初值就是你在定义变量的同时就可以给他赋一个初始值
比如
int
i=0;
就是定义一个变量,并赋予初值0
一般是为了防止程序中误操作导致直接使用未赋值的变量进行计算
变量变量,之所以叫变量就是他的值是可以改变的,所以即使有初值也可以用赋值的手段来改变变量的值
这道题的话,因为scanf中要求的格式是%d,也就是整形,所以非整形的数字就被忽略了,所以i的值是12,scanf会自动将逗号,空格,回车识别为结束符号
所以到逗号时,第一句结束,开始第二句,然后第二句读取到的是<CR>,这个就是回车,所以第二句终止,第三句还没与触发,因为没有键盘录入了
所以第一句的结果使得i的值变成了12
第二句j没有录入结果,保持初值不变
第三句没有触发,K也保持初值不变
所以答案是12、0、0
比如
int
i=0;
就是定义一个变量,并赋予初值0
一般是为了防止程序中误操作导致直接使用未赋值的变量进行计算
变量变量,之所以叫变量就是他的值是可以改变的,所以即使有初值也可以用赋值的手段来改变变量的值
这道题的话,因为scanf中要求的格式是%d,也就是整形,所以非整形的数字就被忽略了,所以i的值是12,scanf会自动将逗号,空格,回车识别为结束符号
所以到逗号时,第一句结束,开始第二句,然后第二句读取到的是<CR>,这个就是回车,所以第二句终止,第三句还没与触发,因为没有键盘录入了
所以第一句的结果使得i的值变成了12
第二句j没有录入结果,保持初值不变
第三句没有触发,K也保持初值不变
所以答案是12、0、0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询