做两题C语言概念题

ERcompose 2010-07-10 10:54:43
1.若有以下定义:char a; int b; float c;double d则表达试a*b+d-c的植的类型为 (我觉得应该是double型 没有依据)
2.以下叙述中不正确的是 A 在不同的函数中可以使用相同名字的变量 (我觉得对的)
B函数中的形式参数是局部变量 (我觉得对的)
C在一个函数内定义的变量只在本函数范围内有效 (我觉得对的)
D在一个函数的复合语句中定义的变量在本函数范围内有效 (那就是选D了,为什么这个错?什么叫函数的复合语句 解释一下这句话)
...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ERcompose 2010-07-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq120848369 的回复:]
a*b是int吧,+d是 double吧, -c是double吧, 所以就是double吧

2.A,对了 B,对了, C,对了 D,错了,复合语句就是if(),for(),while()括号里定义的或者{}花括号里定义的,都属于一个代码块, 里边定义的变量在括号外边就释放了.

比如: void test() { {int a=10;} printf("%d\n",a); }

花括……
[/Quote]谢谢
饭fan有引力 2010-07-11
  • 打赏
  • 举报
回复
第一题是double,像高级的提升了
第二题的是D,楼上解释的正确
qq120848369 2010-07-10
  • 打赏
  • 举报
回复
a*b是int吧,+d是 double吧, -c是double吧, 所以就是double吧

2.A,对了 B,对了, C,对了 D,错了,复合语句就是if(),for(),while()括号里定义的或者{}花括号里定义的,都属于一个代码块, 里边定义的变量在括号外边就释放了.

比如: void test() { {int a=10;} printf("%d\n",a); }

花括号里的a,离开花括号就释放了, 所以printf就出错了. 根据题目就是, 复合语句中的变量只在复合语句范围内有效;.

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧