在许多C/C++宏中,我看到宏的代码包含在看似无意义的do while循环中.这是一些例子.
#define FOO(X) do { f(X); g(X); } while (0)
#define FOO(X) if (1) { f(X); g(X); } else
Run Code Online (Sandbox Code Playgroud)
我看不出它do while在做什么.为什么不在没有它的情况下写这个?
#define FOO(X) f(X); g(X)
Run Code Online (Sandbox Code Playgroud) 你看,我自学了C++(不完全,我还在拖延-_-).所以,现在我开始上大学,他们正在教C,他们让我们做了一个输入四个整数的程序,我们必须告诉它们中最大和最小的.简单,不是吗?
问题是,我已经对函数和数组有了很好的理解.是的,我可以在阵列中编程,没问题.但由于这是第一个实验室,我们还没有"学到"那个,所以我不能使用其中的任何一个,它就会非常简单.
这就是我在那里写的(某种程度上感觉不对).
#include<stdio.h>
int main(void)
{
int first, second, third, fourth;
printf("Enter four integers (separated by space): ");
scanf("%d %d %d %d", &first, &second, &third, &fourth);
if((first>second) && (first>third) && (first>fourth))
printf("\nFirst number is largest");
else if((second>first) && (second>third) && (second>fourth))
printf("\nSecond number is largest");
else if((third>second) && (third>first) && (third>fourth))
printf("\nThird number is largest");
else if((fourth>second) && (fourth>third) && (fourth>first))
printf("\nFourth number is largest");
if((first<second) && (first<third) && (first<fourth))
printf("\nFirst number is smallest");
else if((second<first) && (second<third) && …Run Code Online (Sandbox Code Playgroud) 可能的重复:
if语句的格式
是否有最佳的标识编码风格(同一行,下一行)?
编写stackoverflow样式'问题'/'标签'翻转按钮的最佳方法
public void Method {
}
Run Code Online (Sandbox Code Playgroud)
要么
public void Method
{
}
Run Code Online (Sandbox Code Playgroud)
除了个人喜好之外,还有一种风格比另一种风格更有益吗?我曾经用第二种方法发誓虽然现在使用第一种方式进行工作和个人项目.
可读性我的意思是想象那些方法中的代码 - if/else等......
我最近与一位同事参与了一个涉及一行if语句的争论,并想看看stackoverflow的想法.
你觉得这个陈述应该写成:
if(condition)
{
statement = new assignment;
}
Run Code Online (Sandbox Code Playgroud)
要么
if(condition)
statement=new assignment;
Run Code Online (Sandbox Code Playgroud)
请为您的决定提供充分的理由.
希望改进我的IF语句,并希望我的代码看起来很漂亮
这是我目前正在做的,是否可读,还有改进的余地?
SomeObject o = LoadSomeObject();
if( null == o
||
null == o.ID || null == o.Title
||
0 == o.ID.Length || 0 == o.Title.Length
)
Run Code Online (Sandbox Code Playgroud)
我没有人问过.这就是我首先来到这里的原因.请不要关闭我的问题:(