C 有趣的代码

1.程序代码

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <Windows.h>

int main()
{
    int i = 43;
    printf("%d\n", printf("%d", printf("%d", i)));

    system("pause");
    return 0;
}

2.执行结果

这里写图片描述

3.结果分析

因为printf()函数的返回值是字符个数,最里层printf先输出43,其返回值是两个字符,
所以是2,第二个printf就输出2,同理,又返回一个字符,输出1,因此最终的返回值是
4321;若给每个%d后面加上“ ”就会明显的看出来,如下图:

这里写图片描述

注:因为“ ”也占用一位,所以后两个输出都比之前多了1。
### 有趣的 C 语言代码示例 #### 随机数猜谜游戏 为了展示C语言模块化编程的魅力,下面提供一个简单的随机数猜谜小游戏作为例子。此程序被划分为多个独立的功能模块以便于理解和维护。 ##### 主函数 主函数负责初始化并调用其他辅助函数来完成整个流程。 ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); // 初始化随机种子 int secretNumber = generateSecretNumber(); playGame(secretNumber); return 0; } ``` ##### 随机数生成器 用于创建一个特定范围内的秘密数字供玩家猜测。 ```c // 定义最大最小值常量 #define MIN_NUMBER 1 #define MAX_NUMBER 100 /** * @brief Generates a random number within the specified range. */ int generateSecretNumber(void){ return (rand() % (MAX_NUMBER - MIN_NUMBER + 1)) + MIN_NUMBER; } ``` ##### 游戏逻辑控制 处理用户的输入以及判断是否正确直到找到答案为止。 ```c void playGame(int correctAnswer){ printf("欢迎来到猜数字游戏!\n"); while(1){ int userGuess; printf("请输入您认为的秘密数字(%d-%d): ", MIN_NUMBER, MAX_NUMBER); scanf("%d", &userGuess); if(userGuess == correctAnswer){ congratulatePlayer(); break; }else{ giveHint(correctAnswer,userGuess); } } } ``` ##### 提示信息给予者 当用户未能成功时给出适当提示帮助其接近目标。 ```c void giveHint(int actualValue,int guessedValue){ if(guessedValue > actualValue) puts("太遗憾了! 实际数值更小哦."); else puts("加油吧! 正确的答案更大些."); } ``` ##### 成功祝贺消息发送方 一旦用户找到了正确的解就显示庆祝的信息结束循环。 ```c void congratulatePlayer(){ puts("\n恭喜你赢得了比赛!"); } ``` 上述实例不仅展示了如何利用`printf()`来进行格式化的屏幕输出[^2],同时也体现了良好的编码习惯——即把不同职责分离成单独的小型子程序从而提高可读性和重用率[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值