当前位置:首页 » 编程软件 » 函数不加括号能编译通过吗

函数不加括号能编译通过吗

发布时间: 2022-12-14 04:32:24

㈠ if后单条语句不加花括号,不能通过编译,为什么

问题在 f 前面的 FILE,说明了是一个类型变量的定义或者说声明语句的语法,这只能是存在于函数外或者语句块内。加了花括号就是语句块,注意是个块。而没有这对花括号就只是单一一个语句而已,没有人能明白这个 f 声明了要放在什么地方了。

㈡ case后面的语句不加大括号为什么有时候能编译通过,有时候不能

case后面的语句不需要加大括号,只要别忘了break就行。不过有的编程规范上会建议用大括号把case后面的语句括起来。
你说的“不能通过编译”,可能是下面这个原因。C/C++里规定,不能在case语句里定义局部变量。例如:

int a = 2;

switch (a)
{
case 1:
int c = 10;
break;

case 2:
break;

default:
break;
}
编译就会出错,原因是在case 1里定义了局部变量c。
而C/C++还有一个很有意思的规定,用{}包括的语句,认为是一个”语句块“,而在语句块里就能想干什么就干什么。
比如:
switch (a)
{
case 1:
{
int c = 10;
break;
}

case 2:
break;

default:
break;
}
这样就能通过编译了。
再多说两句废话。C/C++里这个用{}括起来的语句块,可以认为是一段完全独立的代码。比如:
int a = 2;

{
int a = 3;
}
这样完全没问题。而你要是把这对大括号删掉,就会出错。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:705
制作脚本网站 发布:2025-10-20 08:17:34 浏览:969
python中的init方法 发布:2025-10-20 08:17:33 浏览:677
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:830
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:737
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1076
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:308
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:188
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:875
python股票数据获取 发布:2025-10-20 07:39:44 浏览:829