C语言一些有趣的现象(例子) (译)

  • Post author:
  • Post category:其他


C语言一些有趣的现象(例子)

以下是一些有趣的C程序小例子

1)  case 可以位于if-else 内部

#include <stdio.h>

int main()

{


int a = 2, b = 2;

switch(a)

{


case1:

;

if(b==5)

{


case2:

printf(“GeeksforGeeks”);

}

else

case3:

{


}

}

}

Output :

GeeksforGeeks

2) 数组名和下标可以互换 , arr[index] 等于 index[arr]

这个是因为,数组访问是通过指针地址访问, 0[arr]相当于从0地址偏移arr,等同于 从arr偏移0个位置

// C program to demonstrate that arr[0] and

// 0[arr]

#include<stdio.h>

int main()

{


intarr[10];

arr[0] = 1;

printf(“%d”, 0[arr] );

return0;

}

Output :

1

3) C程序可以使用符号 ‘<:, :>’ 替代‘[,]’   ,  符号  ‘<%, %>’ 替代 ‘{,}’

#include<stdio.h>

int main()

<%

int arr <:10:>;

arr<:0:> = 1;

printf(“%d”, arr<:0:>);

return0;

%>

Output>:

1

4)在非常规的位置使用#include

创建一个文件 “plain.txt” 包含  (“strange location for #include”);

#include<stdio.h>

intmain()

{


printf

#include “plain.txt”

;

}

Output :

(“strange location for #include”);

5) %*d 用在scanf 里面可以忽略input

#include<stdio.h>

intmain()

{


int a;

// Let we input 10 20, we get output as 20

// (First input is ignored)

// If we remove * from below line, we get 10.

scanf(“%*d%d”, &a);

printf(“%d “,  a);

return0;

}

##博客仅作个人记录##