c语言中W不用赋值吗,大一基础C语言问题有以下定义语句double a,b; intw; long c;若各变量已正确赋值,则下列选项中正确的...

共回答了23个问题采纳率:100%

0)w=a=b w的类型和a b不同,类型不同占用的存储空间和存放的寄存器也不一样,如果要赋值需重新对类型进行注释:w=(int)a=(int)b

0)a=a++=5连环赋值是c和C++特有用法,顺序是从右到左依次赋值,但是,赋值的左边对象必须是一个左值,左值必须是占用固定存储空间的,a++就不是左值,他是一个运算式:a=a+1;

1)D、if(b==0) m=1;n=2;这个是两个语句,因为他有两个;符号

2)以下函数值的类型是 int ,c语言规定,函数类型不写的都是int,例如char fun(float x),函数类型就是char,fun(float x)和int fun(float x)是等价的.

3)暂时没找到错误

4)4.0是一个double类型,和常数混合运算后的值还是double类型.为什么知道4.0是double不是float,因为库函数规定了sqrt()中的形参必须是double.

5)最后一题在使用中的确是允许的,但是会出非常对的漏洞,例如puts的输出函数式见到‘0’就结束的,如果字符数组存满了数据,puts遇不到结束符‘0’就会一直输出,就会出现一堆乱码

1年前

追问

4

4052449864

w=a=b; ϵͳѵԶǿת?

4052449864

еģֵԭ˵ͨߴһĴݵһĴdouble͵ļĴintDzһġ

4052449864

main() { int a; double c=1.0; a=c; printf("%d",a);} ǿԵ?

4052449864

Լ²ԺijоģʵǾȵĶʧ3.245תintͱ3ˡdoubleintתãҪ͵תunsignedintתء

4052449864

Ҫֵ¶ͽעͣw=inta=intb ע ϵͳǿƵתʲôأ

4052449864

ҾбҪϸ˵¡Ҹ㣺 #includevoid main() { unsigned x=-1; if (x<0) printf ("xС-1"); else printf ("xС-1"); } £ִеelseĽΪʲôΪxֵڼĴʾĸ-1ǰ if (x<0) Ϊ if ((int)x<0)ˣΪʲôΪһʵǰ-1ֵдһзŵļĴСٿij main() { int a; double c=1.0; a=c; printf("%d",a);} 㿴û%dģ͵ͬ (int)aIJ˵ԣȰaֵintͼĴ˵ͳԶˣ鿴ԭͻ鼮ڶϢתƵݡ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值