作业帮 > 综合 > 作业

若变量已正确定义,要通过以下语句给a,b,c,d 分别输入字符A,B,C,D,给w.x.y.z分别输入整数10、20、3

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/13 16:28:42
若变量已正确定义,要通过以下语句给a,b,c,d 分别输入字符A,B,C,D,给w.x.y.z分别输入整数10、20、30、40,
正确的输入形式是▁▁▁▁.发自内心的祝福帮我解答问题的朋友.呵呵
题目后少了一句话,不好意思 scanf("%d%c%d%c%d%c%d%c",&w,&a,&x,&b,&y,&c,&z,&d);
若变量已正确定义,要通过以下语句给a,b,c,d 分别输入字符A,B,C,D,给w.x.y.z分别输入整数10、20、3
10A20B30C40D...
首先要明白的是scanf会根据格式字符的含义从输入流中取得数据,当输入流中数据类型与格式字符要求不符时,就认为这一项结束.
于是,当遇到A的时候,它会发现与w的类型已经不匹配了,所以把10赋给W,而把A赋给a,同理.
再问: 若有以下定义与输入语句,要求给c1、c2分别输入字符A和B,给a1、a2分别输入7.33和123.459,从键盘正确输入数据的形式是▁▁▁。 char c1 ,c2 ; float a1, a2 ; scanf ("%c%f%c%f", &c1,&a1,&c2,&a2);
再答: 还没弄懂么?呵,看来我表达能力有问题。 A7.33B123.459 可以百度下scanf的用法,网上应该能找到很多表达好的详解。
再问: 懂了。。呵呵。。只是感觉%f是单精度小数,那应该输入7.330000??
再答: 这精度问题本身就很麻烦,但是输入7.33跟输入7.330000其实没啥差别吧,所以应该直接输入7.33就行了。