自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 关于微软Visual studio C语言中%n的问题

c语言中printf函数中有一个%n的说明符号,%n与其他格式说明符号不同。%n不向printf传递格式化信息,而是令printf把自己到该点已打出的字符总数放到相应变元指向的整形变量中。但是,如果再VS里直接这么使用%n是会报错的,因为微软认为%n存在漏洞,就把它禁用了,如果我们想使用,就要利用_set_printf_count_output。就如上面这个例子,a从上到下对应的结果分别是4、5、5。

2024-02-25 11:17:24 680

原创 关于cout输出的顺序原理

虽然暂时没有找到相关资料能解释这个问题,但经过一些实验,我认为编译器在计算过程中并不是单纯地记录a当时的值,而是记录了a的地址,等到这个输出语句计算完毕,这个时候a的值就是要输出的值。通过运算符定义,我们知道++a不仅仅进行了加1运算,更是返回了a这个变量本身,使得编译器记录了a的地址,而a++返回的是一个没有地址的常量。按照先前的说法,先计算a值,也就是0,然后计算a++,但由于是后置运算符输出结果也是0,所以我们可以猜测输出结果应该是:00。但我如果再出一个题目呢?但实际上结果是:01。

2023-10-24 15:02:15 324

原创 重定义后置递增运算符遇到的问题

注意观察,在定义后置自增运算符时,我们给函数的返回值是temp,一个局部变量,所以返回值也不能做引用,这就必须牵扯到函数返回值的知识了,在执行return语句时系统会在内部自动创建一个临时变量,然后将return要返回的那个值赋给这个临时变量。但要注意的是,在不加引用和指针的情况下,这个临时变量是没有地址的!在重定义的<<运算符中,我们是用引用来接收函数参数的,但是引用只能被赋值给有地址的量,所以只能删除引用符或者在前面加上const,但为了照顾前置递增,我们最好加上const。

2023-10-24 13:18:11 243

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除