早教吧 育儿知识 作业答案 考试题库 百科 知识分享

5.已有定义intx;floaty;,且执行scanf("%3d%f",&x,&y);语句时,输入数据12345□678,则x的值为(①B),y的值为(②B)。(注:□表示空格)①A.12345B.123C.45D.345②A.无定义B.45.00000

题目详情
5.已有定义int x; float y;,且执行scanf("%3d%f", &x, &y);语句时,输入数据12345□678,则x的值为( ①B ),y的值为( ②B )。(注:□表示空格)
① A.12345 B.123 C.45 D.345
② A.无定义 B.45.000000 C.678.000000 D.123.000000求解析
▼优质解答
答案和解析

输入12345,本来是把这个值传递给整形的变量x的,但是因为%3d截断了3位传递给x,所以x的值就是123,剩下的45就传给了float类型的y,看下如下的程序吧:只输入了两个值,却分别赋了三个值给变量,因为截断的部分到空白的值赋给了y,然后剩下的部分给了z。很明白了吧。