在这里,我们将了解 C 语言中的卫生宏。我们知道宏在 C 语言中的用法。但是,有时由于意外捕获标识符,它不会返回预期的结果。如果我们看到以下代码,我们可以看到它无法正常工作。示例#include #define INCREMENT(i) do { int a = 0; ++i; } while(0) main(void) { int a = 10, b = 20; //对 a 和 b 调用两次宏 INCREMENT(a); INCREMENT(b); printf("a = %d, b = %d", a, b); }预处理后的代码将如下所示:示例#include #define ... 阅读更多
在这里,我们将看到 C 和 C++ 之间的一些不兼容性。一些可以使用 C 编译器编译的 C 代码,但在 C++ 编译器中无法编译。并且还会返回错误。我们可以使用一种语法来定义函数,该语法可以选择性地在参数列表后指定参数类型。示例#include void my_function(x, y)int x;int y; { // 在 C++ 中无效 printf("x = %d, y = %d", x, y); } int main() { my_function(10, 20); }输出x = 10, y = 20输出C++ 中的错误:- x 和 y 在此范围内未声明在 C 或某些旧版本的 C++ 中,... 阅读更多
在这里,我们将了解一些关于 C 编程的有趣事实。它们如下所示。有时,某些 switch 语句的 case 标签可以放在 if-else 语句中。示例#include main() { int x = 2, y = 2; switch(x) { case 1: ; if (y==5) { case 2: printf("Hello World"); } else case 3: { //case 3 块 ... 阅读更多