0.99循环竟然=0!

CodeBlocks老版本编译C99代码报错?教你5分钟搞定for循环变量声明问题 本文针对CodeBlocks老版本编译C99代码时出现的‘for循环初始声明’报错问题,提供了快速解决方案。通过分析C89到C99的语法演进差异,指导用户在编译器设置中简单添加`-std=c99`参数,即可让旧版IDE完美支持现代C语言标准,解决变量声明问题,提升开发效率。 阅读详情

证明0.99(9循环)=0

0.99(9循环)=0.999……(∞个“9”)

当我们在“0.”后面每写10个“9”,就随机擦去1个“9”,进行一次此操作后,得:“0.”后跟(10-1)个“9”,即9个“9”

经过∞次操作后,得:“0.”后跟∞(10-1)个“9”,即9∞个“9”,即∞个“9” 所以经过∞次此操作后的结果=0.99(9循环)

依次将0.99(9循环)中的“9”标上序号,即:

0. 9   9   9   9  9 ……

   ① ② ③ ④ ⑤ ……

一次操作后,①号“9”还存在的概率是:\frac{9}{10}

二次操作后,①号“9”还存在的概率是:\frac{9}{10}\times\frac{18}{19}

三次操作后,①号“9”还存在的概率是:\frac{9}{10}\times\frac{18}{19}\times\frac{27}{28}

以此类推,完成∞次操作结束后,①号“9”还存在的概率是: \frac{9}{10}\times\frac{18}{19}\times\frac{27}{28}\times……\times\frac{9n}{9n+1}(当n趋于∞时)

=\frac{1}{\frac{10}{9}\times \frac{19}{18}\times \frac{28}{27}\times......\times\frac{9n+1}{9n}}

=\frac{1}{(1+\frac{1}{9})\times(1+\frac{1}{18})\times(1+\frac{1}{27})\times......\times(1+\frac{1}{9n})}

\leq\frac{1}{\frac{1}{9}+\frac{1}{18}+\frac{1}{27}+......+\frac{1}{9n}}

=\frac{1}{\frac{1}{9}\times(1+\frac{1}{2}+\frac{1}{3}+......+\frac{1}{n})}

=9\times\frac{1}{1+\frac{1}{2}+\frac{1}{3}+......+\frac{1}{n}}

=0

即①号“9”还存在的概率是0,它有100%的概率在某一次被擦掉了

同样的算法,②号“9”,③号“9”,所有的“9“还存在的概率都是0

所以“0.”后跟着“9”的概率也是0

即结果为0

所以0.99(9循环)=0

深入解析C99与C11模式下for循环变量声明的编译器差异 本文深入解析了C99与C11标准下for循环变量声明的编译器差异。当编译器默认使用C89/C90模式时,在for循环初始化部分直接声明变量会触发编译错误。文章通过实例分析了错误根源,并提供了在GCC及CodeBlocks等环境中切换至C99/C11模式的具体解决方案,帮助开发者规避兼容性问题,编写更符合现代标准的C语言代码。 阅读详情

相关推荐

别再被网站风控了!手把手教你修改Chromium源码,实现TLS指纹随机化

本文详细介绍了如何通过修改Chromium源码实现TLS指纹随机化,有效规避网站风控。文章深入解析了TLS指纹(如JA3指纹)的工作原理,并提供了具体的源码修改步骤和编译方法,帮助开发者突破高级反爬技术。通过动态打乱加密套件顺序,实现每次请求生成不同的指纹,显著提升自动化工具的隐蔽性。

weixin_28712661的博客 426

Verilog 0到99循环计数器

设计一个2位十进制的循环计数器,从0到99,然后再回到0.输出为out0和out1,分别表示十进制数的高位和低位。 设计代码 `timescale 1ns / 1ps module Test1030(clk,rst,out0,out1,data); input clk; input rst; output [3:0] out0; output [3:0] out1; output [7:0] data; reg [3:0] out0; reg [3:0] out1; wire [7:0] data; alw

Hennys的博客 1万+

开源WorkBuddy实战课:从零搭建AI Agent办公自动化工作台

AI Agent作为大语言模型之上的智能体,正在重塑办公效率。它通过工具调用、任务规划与长期记忆,将被动问答升级为主动执行。WorkBuddy作为图形化智能体工作台,降低了搭建门槛,让非技术人员也可配置自动化流程。本文开源整套实战资料,涵盖JDK环境配置、模型接入、日报邮件处理、表格清洗、批量文档生成等场景,并讲解自定义指令、Skills扩展与MCP协议。从基础概念到工程实践,帮助读者快速上手,构建属于自己的办公自动化助手。

weixin_29083475的博客 223

循环和条件分支——从99到0的依次输出的实现

1、For语句实现 public class From99to0For { public static void main(String[]args){ for(int x=99;x>0||x==0;x=x-1 ){ System.out.println(x); } } } FOR语句中的int x=99所占的位置被称为单次表达式,属于初始化部分,初始部分会...

qq_35956737的博客 564

从Transformer到Mamba:显著性检测领域的计算效率革命(Samba框架深度解析)

本文深入解析了Samba框架在显著性目标检测(Salient Object Detection)领域的创新应用,通过结合Mamba架构的优势,实现了计算效率的革命性提升。Samba框架采用显著性引导的Mamba模块(SGMB)和上下文感知上采样(CAU),有效解决了传统CNN和Transformer的局限性,同时在RGB-D等多模态任务中展现出卓越性能。

mmm90的博客 557

OTA 升级失败/回滚策略设计:打造安全可靠的双分区/断点续传/签名校验方案

双分区机制(A/B Partitioning)是OTA升级的“保险箱”。简单来说,设备存储分为两个分区:A分区(当前运行)和B分区(备用)。升级时,新固件写入B分区,A分区保持不变。如果升级成功,系统切换到B分区运行;如果失败,设备直接回滚到A分区,完全不受影响。这就像玩游戏存档:你打Boss前存了个档,万一挂了还能读档重来。双分区就是设备的“读档”机制,避免了变砖的尴尬。以Android设备为例,Google从Android 7.0开始强制引入A/B分区机制(Seamless Updates)。

大模型大数据攻城狮的专栏 1230

使用7段数码管实现0到99数码管显示(循环嵌套)

使用7段数码管实现0到99数码管显示(循环嵌套)

qq_65101190的博客 6178

FreeRTOS系统从入门到精通万字保姆级教程

例如,在基于ARM的硬件平台上,可能需要实现针对ARM处理器的上下文切换代码,并确保FreeRTOS能够正确地响应和处理ARM架构的中断。需要注意的是,在删除任务之前应确保任务已经完成了其所有重要的工作,并且没有其他的任务依赖于它,以避免数据丢失或系统不稳定。任务的优先级设定是其中的关键环节。在复杂的系统中,可能会有大量的任务需要同时运行,而这些任务的重要性和紧急程度各不相同。这通常包括创建初始任务(这些任务将负责系统的初始化和后续任务的调度)、设置系统时钟(以确保任务的准时调度和延时功能的正确性)等。

大模型大数据攻城狮的专栏 2066

【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明

解决问题: render.c: 在函数‘_render’中: render.c:43:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明 for (int i = 0; i < ntri; i++) render.c:43:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码 render.c:75:14: 错误:‘i’重定义 for (int i = 0; i < nver; ++i)

hu_yinghui的博客 1万+

YOLOv8改进 | 融合篇,YOLOv8改进主干网络为MobileNetV3+CA注意机制+添加小目标检测层(全网独家首发,实现极限涨点)

小目标检测难点众多,导致很多算法对小目标的检测效果远不如大中型目标。影响算法性能的主要原因如下:第一,小目标分辨率低、信息量不足,导致神经网络提取到的有效特征较少。第二,小目标在图像中所占的区域较小,易受背景干扰,这对算法的定位性能要求较高。第三,小物体标注困难,训练数据有限,导致模型泛化能力差。例如多尺度学习、无锚机制和生成对抗学习等方法,都能提高小目标检测的准确性和鲁棒性。为了改善小目标漏检现象严重的问题,我在 YOLOv8 中增加了 P2 检测头,相当于有四个检测头,使网络能检测到更小的目标。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2857

AutoSAR EcuM系列01- EcuM模块的功能概述和变体类型

在【ECU的软硬件架构】文章中我们了解ECU的功能和组成,那么ECU具体是怎么启动的呢?我们知道,AutoSAR标准架构有三层,即APPL应用层、RTE层和BSW层。而这些层又被进一步划分为更多单独的组件,如BSW层可能有80多个组件。在ECU启动时,这些组件必须相互交互,有时也必须以某种顺序交互。这些组件的启动顺序由ECU管理器模块或EcuM处理。EcuM负责整个ECU的初始化和去初始化,包括对一些系统模块如。......

1765

Java用for循环打印99乘法表

Java用for循环打印99乘法表 ##Java用for循环打印99乘法表 public static void main(String[] args) { for(int i = 9;i &gt;0; i-- ){ for (int j = 9; j &gt; i; j--) { System.out.print(i+"×"+j+"="+i*j+"\t"); } S...

Wang_shao_bo的博客 3897

基于Python的京东商品价格监控与降价提醒系统设计与实现

本文详细介绍了如何使用Python构建一个完整的京东商品价格监控与降价提醒系统。系统通过爬虫技术实时抓取京东商品价格信息,结合数据存储与分析,实现价格波动监控和智能降价提醒功能。文章涵盖了系统设计、技术选型、代码实现以及部署方案,为电子商务价格监控领域提供了一个实用的解决方案。关键词:Python爬虫、京东API、价格监控、降价提醒、自动化。

2201_76125261的博客 404

gcc 编译器的 std=c99 选项

最近在学习关于 Linux 下的网络编程相关的知识,以前对这方面没有什么了解。跟着教程写完了代码,然后使用 gcc 进行代码编译,然后编译报错了。 gcc tcpclient.c -o tcpclient .c:10:5: error: ‘for’ loop initial declarations are only allowed in C99 mode for (int i = 0; i &l...

8477

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

gcc c 在for语句中声明变量需要编译时加“-std=c99”

http://gcc.gnu.org/ml/gcc-patches/2000-11/msg00913.html Patch for C99 "for (int i = 0; i To: Subject: Patch for C99 "for (int i = 0; i From: "Joseph S. Myers" Date: Sat, 18 Nov 2000 22:23:36 +0

jluyangsf的专栏 4976

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

linux 错误:只允许在 C99 模式下使用‘for’循环初始化声明

rwxr-xr-x 1 root root 9592 8月 16 21:27 main。a.c:3:6: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码。-rw-r--r-- 1 root root 112 8月 16 21:25 a.c。a.c:3:6: 错误:只允许在 C99 模式下使用‘for’循环初始化声明。错误:只允许在 C99 模式下使用‘for’循环初始化声明。

hxsln11的博客 1374

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

make报错:使用 -std=c99 或 -std=gnu99 来编译您的代码

这个错误是因为在C语言中,只有在C99标准或更高版本中才允许在for循环的初始化声明中使用int类型的变量。而在你的编译环境中,可能默认使用的是较低的C标准,导致编译失败。确保你使用的编译器支持C99标准或更高版本。有些较旧的编译器可能不支持C99,你可以尝试升级编译器或切换到支持C99的编译器。通常来说,使用C99标准是一个比较常见的解决方案,因为它能够更好地支持现代的C语言特性。这会告诉编译器使用C99标准编译代码,其中包括允许在for循环的初始化声明中使用int类型的变量。

liangkaiping0525的博客 6211

C++嵌套循环打印99乘法表

C++嵌套循环打印99乘法表 目录 C++嵌套循环打印99乘法表 1、嵌套循环结构 2、99乘法表案例代码 1、嵌套循环结构 分为外循环和内循环,外循环执行一次,内循环执行一轮 for(条件){ for(条件){ 执行语句 } } 2、99乘法表案例代码 打印99乘法表 #include<iostream> using namespace std; int main() { //案例:99乘法表 for (int i = 1; i < 10; i++)

ISP行业的忠实粉丝 2980

创建 0-99 的数组

今天分享一个js创建数组,并且值为 0 -99 的方法。 一、 传统方法 ( for , while, do while): 1. for 循环 let arr = [] for(let i =0; i< 99; i++){ arr.push(i) } 2. while, do while let i =0,arr=[0] while(i<=99){ arr.push(i) ...

qq_35257117的博客 2112

编程实现99乘法表(循环)

编程实现99乘法表(循环) #include <stdio.h> /*99乘法表*/ int main() { int i,j; for(i=1;i<10;i++) //行 { for(j=1;j<=i;j++) //列 { printf("%d*%d=%-4d",j,i,i*j); //列乘行 } printf("\n"); } return 0; } for循环 for(表达...

m0_59014066的博客 1428

python循环、三角,倒三角,倒99乘法表

这里写目录标题1. while 循环 倒三角2. 使用for循环输出数字0-9,当数字为6时,跳出本次循环,执行其他循环,当数字为8的时候,停止循环3.使用循环 计算出1-100之间 所有奇数的和4.使用for循环 做三角形5.倒三角形 1. while 循环 倒三角 a = 9 # 定义变量a=9,表示循环9次 while a > 0: i = 1 #再定义变量 i=1 while i <= a: print('%d * %d = %

都是一些小知识,有错请见谅 8499

共阳极数码管与共阴极数码管联合使用来循环显示数字00-99。

使用两个分立式数码管分别连接在P0和P2端口上,实现数字从00-99的循环显示。 与上篇文章一样先查询一下共阴极与共阳极数码管数字0到9的数码表: //共阴极数码管0-9的数码表。 code int SEG_CODE1[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; //共阳极数码管0-9的数码表 code int SEG_CODE2[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x8

qq_55843890的博客 1万+

C99的for循环

C99的for循环C99标准显示的错误 在c语言有很多标准。 在以前标准中,c是不支持for循环的初始化变量int i是不能直接在for(…)里面声明的 C99标准 for循环中的初始化变量可以有两种模式 第一种: for(int i =0,…,…){…} 第二种: int i ; for(i=0,…,…){…} 显示的错误 如果你碰到这样的错误,大概就是版本的原因了,稍微改改就好。 如有错误或其他观点,请疯狂输出!!!!! ...

weixin_43535786的博客 1931

只允许在 C99 模式下使用‘for’循环初始化声明

写了一个简单的循环编译报错 代码如下: #include<stdio.h> int main(int argc,char* argv[]){ for(int i=0;i<100;i++){ printf("i=%d\n",i); } return 0; } 报错如下: [root@localhost c]# gcc -g -o for for.c for.c: 在函数‘main’中: for

reg183的专栏 7006

gcc 编译问题:src/massip-addr.c:299:3: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码

gcc 编译问题:src/massip-addr.c:299:3: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码。

代码讲故事 663

make install出现的错误:只允许在 C99 模式下使用‘for’循环初始化声明,使用 -std=c99 或 -std=gnu99 来编译您的代码

parse.c: 在函数‘eval_get_last_function_token’中:parse.c:389:2: 错误:只允许在 C99 模式下使用‘for’循环初始化声明i >= 0;i --)parse.c:389:2: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码。

qq_52251769的博客 834
上一篇: 增强版计算器(支持括号和多重运算)
下一篇: C++贪吃蛇
ljb_c++888
博客等级 码龄3年 215粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值