设有以下程序,程序运行后的输出结果为,可以解释一下为什么嘛?

intmain(){structWTU{charname[12];charsex;doublesocore[2];}structSTUx={"lin",'f',72.5,... int main()
{
struct WTU{char name[12]; char sex; double socore[2]; }
struct STU x = { "lin", 'f', 72.5, 83.0 }, y = { "Ma", 'm', 85.0, 90.5 };
y = x;
printf("%s,%c,%200f,%2.0f\n", y.name, y.sex, y.socore[0], y.socore[1]);
return 0;
}
展开
 我来答
紫薇参星
科技发烧友

2021-10-15 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3593万
展开全部

你给的程序有几个问题,WTU应为STU,且其末尾应加分号结束,200f太长,改为20f.

因为y=x所以y的初始化值被x的值覆盖,y的值与x的值相同,因此输出的是x初始化的值,

输出的是x的名字lin,性别f,成绩72.5和83.0

s表示输出字符串.

c表示输出一个字符.

因为72.5是double型,所以缺省保留6位小数,

20f表示输出整个数占20个字符(包括小数点),不够在前面用空格补足.

2.0f表示输出整个数占2个字符(包括小数点),超过2个以实际长度输出,其中0表示没有小数部分.

因此输出下面结果.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式