作业帮 > 综合 > 作业

函数func(arg) = 0与(!func(arg)) == 0是不是等价的?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 20:43:19
函数func(arg) = 0与(!func(arg)) == 0是不是等价的?
---------------------------------------------------------------------------------------------------------
(func(arg) = 0)与((!func(arg)) == 0)是不是一样?若不同具体有什么不同?
---------------------------------------------------------------------------------------------------------
d=d++;这个是不是d自己加自己一次?
-----------------------------------------------------------------------------------------------------------------------
引用全局变量只需在变量名前加两个冒号“:”即可?全局变量是不是在任何地方都可以引用?
-----------------------------------------------------------------------------------------------------------------------
return 0;与return (0);有没有什么不同?
--------------------------------------
在同一个函数体中,
若变量名同名会有什么后果?
或者是不是不能同名?
变量名是否是唯一的?
--------------------------------------
(1) (func(arg) != 0)与((!func(arg)) == 0) 是一样的.除非是特殊的编译器,对bool 的定义与现在流行的编译器不同.
(2) d=d++; 这个是不是d自己加自己一次?
由于是后缀加加,右边表达式中的 d 在本 赋值语句中 数值不变.本
赋值语句 执行的 是 d=d;
赋值语句 执行完毕,出了赋值语句,d 再 自增 1.
d=d++; 实际上分解为:
d = d;
d = d + 1;
(3) c 语言中 无双冒号,c++才有双冒号.
全局变量 可以 在 全局 任何地方都可以 使用的 前提 是,使用 处 不存在 同名的局部量.
c++ 用 双冒号 区分了 同名量:带双冒号 的是 全局量,不带 双冒号 的 是局部量.于是,带双冒号 的 任何地方都可以 使用.
(4) 没有区别.(0) 是表达式,计算结果 是 0.所以 return (0); 同 return 0; 结果一样
(5)同一个函数体,不同的域中可以有 同名变量;例如:
main()
{ int a;
a=5;
printf("a1=%d\n",a);
{ int a=3;
printf("a2=%d\n",a);
}
printf("a3=%d\n",a);
}
用 {} 括起的是 域.
再问: 谢谢大虾!
再答: 不谢。问题解决了就好。