比较有趣的c语言代码
时间: 2024-09-28 11:14:59 浏览: 6
在C语言中,编写有趣而富有创意的代码往往涉及到一些巧妙的技巧和编程思维。这里有一个经典的"Hello, World!" 程序的变体,使用了递归函数和字符数组来模拟打印“无限走廊”的效果:
```c
#include <stdio.h>
void print_infinite_corridor(char message[], int length) {
if (length > 0) {
printf("%s", message);
print_infinite_corridor(message + 6, --length); // 跳过 "World" 的每个字符并递减长度
}
}
int main() {
const char corridor[] = "Welcome to the infinite corridor of ";
print_infinite_corridor(corridor, sizeof(corridor) - 1); // 减一是因为字符串结束符'\0'
return 0;
}
```
当你运行这个程序时,它会显示出 "Welcome to the infinite corridor of..." 这样的文字,看起来像是无尽的走廊。
相关问题
有趣的c语言代码浪漫
C语言本身是一种严谨的、底层的编程语言,它的浪漫更多体现在程序员对优雅代码的追求以及巧妙地利用语言特性解决问题的艺术。尽管不像其他语言那样有丰富的库和语法糖,但仍有一些有趣的C语言代码片段展示了编程之美。例如,你可以看到人们创作一些精巧的循环结构来替代冗长的数组操作,或者使用位运算来实现高效的计算。
一个经典的例子就是使用指针和位移来模拟“Hello, World!”的打印,虽然看起来不太直观,但它展示了C语言的灵活性:
```c
#include <stdio.h>
void print_char(int pos) {
char str[] = "Hello, World!";
printf("%c", str[pos]);
}
int main() {
for (int i = 0; i < sizeof(str) - 1; i += 8) {
print_char(i); // 每八位作为一个字符处理
}
return 0;
}
```
这个程序通过每次跳过7个字节(因为ASCII码是7位),依次打印出字符串中的每个字符。这种做法虽然不是日常所必需的,但在某些特定场景下显得别具一格。
有趣的c语言代码
以下是一个有趣的 C 语言代码,可以让你在终端上看到一个跳舞的小人:
```
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(void) {
while(1) {
printf(" O\n");
printf(" /|\\ \n");
printf(" |\n");
printf(" / \\ \n");
printf(" / \\ \n");
fflush(stdout);
usleep(300000);
system("clear");
printf(" O\n");
printf(" /|\\ \n");
printf(" |\n");
printf(" / \\ \n");
printf(" / \\ \n");
fflush(stdout);
usleep(300000);
system("clear");
printf(" O\n");
printf(" /|\\ \n");
printf(" |\n");
printf(" / \\ \n");
printf(" / \\ \n");
fflush(stdout);
usleep(300000);
system("clear");
printf(" O\n");
printf(" /|\\ \n");
printf(" |\n");
printf(" / \\ \n");
printf(" / \\ \n");
fflush(stdout);
usleep(300000);
system("clear");
printf(" O\n");
printf(" /|\\ \n");
printf(" |\n");
printf(" / \\ \n");
printf(" / \\ \n");
fflush(stdout);
usleep(300000);
system("clear");
printf(" O\n");
printf(" /|\\ \n");
printf(" |\n");
printf(" / \\ \n");
printf(" / \\ \n");
fflush(stdout);
usleep(300000);
system("clear");
printf(" O\n");
printf(" /|\\ \n");
printf(" |\n");
printf(" / \\ \n");
printf(" / \\ \n");
fflush(stdout);
usleep(300000);
system("clear");
}
return 0;
}
```
当你运行这个程序时,你会看到一个小人在终端里跳舞!