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;
}