if (condition) { /* do something */ }
else { /* do something */ }
if (condition)
/* do something */
else
/* do something */
Run Code Online (Sandbox Code Playgroud)
有人告诉我,第一个例子并不是一个好主意.我不知道这是否真的是这种情况(或者对于第二种情况); 是不是缩短了打字数量?或者是因为它只是弄得一团糟?
这不是一场圣战,这不是"哪个更好"的问题.
如果块,使用以下格式的单个语句有什么优点.
if (x) print "x is true";
if(x)
print "x is true";
Run Code Online (Sandbox Code Playgroud)
相反
if (x) { print "x is true"; }
if(x) {
print "x is true";
}
Run Code Online (Sandbox Code Playgroud)
如果您将单个语句格式化为无括号或者知道程序员是什么,那么是什么导致您/他们首先采用这种风格?我特别感兴趣的是这给你带来了什么好处.
更新:由于最受欢迎的答案忽略了实际问题(即使它提出了最合理的建议),这里是一个无支架专业人员的综述.
我通常会一直编写条件代码
if (number==1)
name="a";
if (number==2)
name="b";
Run Code Online (Sandbox Code Playgroud)
不管多短,虽然我找到了相当多的人写作
if (number==1) name ="a";
if (number==2) name ="b"...
Run Code Online (Sandbox Code Playgroud)
对我来说这似乎不一致,实际上使代码看起来更麻烦.
做这个的最好方式是什么?
我一直在阅读推荐的初学者书籍中的一些基本练习:C 编程:现代方法(第 2 版)
问题指出:使用尽可能少的 if 语句来确定用户输入的四个数字中的最大和最小。四个 if 语句就足够了。-- 因为这个问题是在本书介绍循环、数组和函数之前提出的,所以我假设不应该使用这些。
另外,我知道有一个与此类似的问题,但是没有一个符合我想要达到的要求。
if语句我想到的第一件事是使用逻辑or运算符,但是如下所示,使用了八个if语句。这种方法也很长而且效率不高:
int a, b, c, d;
printf("Enter 4 intgeres to find largest and smallest: ");
scanf_s("%d %d %d %d", &a, &b, &c, &d);
if (a > b && a > c && a > d)
printf("Largest: %d\n", a);
if (b > a && b > c && b > d)
printf("Largest: …Run Code Online (Sandbox Code Playgroud)