关于 C 编程的有趣事实

在这里,我们将看到一些有关 C 编程的有趣事实。这些就像下面。

  • 有时某些 switch 语句的 case 标签可以放在 if-else 语句中。

示例

#include <stdio.h>
main() {
   int x = 2, y = 2;
   switch(x) {
      case 1:
         ;
         if (y==5) {
            case 2:
               printf("Hello World");
         }
         else case 3: {
            //案例3块
         }
   }
}
输出结果
Hello World

  • array[index] 可以写成 index[array]。原因是使用指针算法访问数组元素。array[5] 的值为 *(array + 5)。如果这与 5[array] 的顺序相反,那么这也与 *(5 + array) 相同。

示例

#include <stdio.h>
main() {
   int array[10] = {11, 22, 33, 44, 55, 66, 77, 88, 99, 110};
   printf("array[5]: %d\n", array[5]);
   printf("5[array]: %d\n", 5[array]);
}
输出结果
array[5]: 66
5[array]: 66

  • 我们可以使用 <: , :> 代替方括号 [,] 和 <%, %> 代替大括号 {,}。

示例

#include <stdio.h>
main() <%
int array<:10:> = <%11, 22, 33, 44, 55, 66, 77, 88, 99, 110%>;
printf("array[5]: %d\n", array<:5:>);
%>
输出结果
array[5]: 66

  • 我们可以在一些奇怪的地方使用#include。在这里,让我们考虑文件abc.txt包含“The Quick Brown Fox Jumps Over The Lazy Dog”这一行。如果我们在 printf 语句之后包含文件,我们可以打印该文件内容。

示例

#include <stdio.h>
main() {
   printf
   #include "abc.txt" ;
}
输出结果
The Quick Brown Fox Jumps Over The Lazy Dog

  • 我们可以使用 %*d in 忽略输入scanf()。

示例

#include <stdio.h>
main() {
   int x;
   printf("输入两个数字: ");
      scanf("%*d%d", &x);
   printf("The first one is not taken, the x is: %d", x);

}
输出结果
输入两个数字: 56 69
The first one is not taken, the x is: 69