【C语言疑难杂症】
该专栏用于记录本人学习c语言过程中遇见的各种问题,希望对同样遇见这些问题的朋友有所帮助。
i 可不简单
知识的海洋里\n我竟只是条淡水鱼。
展开
-
【C语言疑难杂症】调试查看内存窗口时全是问号
进入调试模式时,我们位于程序的起始位置,而此时程序没有进行任何操作,没有创建变量i 、 没有给变量i分配地址.......,也就是此时编译器在此时根本不知道变量i的存储在,也就谈不上查看i的值了。按F11,再往后走几步,直至程序创建了变量 i ,那么也就完成了赋值、分配内存的操作。然后就可以在内存窗口中查看i的值了。我们创建了一个变量i并赋值,此时进入调试模式并用内存窗口查看变量i中的值时,却发现全是问号。编译器:VS2022。原创 2023-10-25 12:06:41 · 532 阅读 · 0 评论 -
【C语言疑难杂症】char 为何能表示 -128
不难发现,时针顺时针走一步,等价于逆时针走11步,我们将 -11 称为 1 的“补数”,同理,-10 是 2 的“补数”......我们还能发现,互为“补数”的两个数的绝对值之和是这个计量系统的模。如果将顺时针走的步数用正数来表示,将逆时针走的步数用负数来表示,那么我们就能发现,时钟这个计量系统能够表示的数值范围由 -11 ~ 11 变成了 -12 ~ 11!的规律,于是,将逆时针走0步替换为逆时针走12步,也就是将-12作为0的“补数”,这样就恰好满足规律了。“原数”+“补数” = “模”原创 2023-10-18 11:16:52 · 609 阅读 · 0 评论 -
【C语言疑难杂症】“无法启动程序......系统找不到指定的文件”
还有一种原因,就是新建源文件时,新建项的后缀写的是.cpp,这样这个文件可能不会自动存放到项目所在的目录,造成上述问题。这种情况我们只需要删除原来的源文件,然后新建一个并且将后缀改成 .c 即可。项目——>项目属性——>属性配置——>链接器——>常规——>输出文件——>编辑。项目——>项目属性——>配置属性——>常规——>输出目录——>编辑。创建的项目和源文件的路径不同(两者在不同的地方)查看两者的目录,然后把源文件移动到项目目录。原创 2023-10-08 15:03:30 · 9137 阅读 · 8 评论 -
【C语言疑难杂症】b = a++;根据运算符优先级,不应该先自增然后赋值给b吗??
对于表达式 b = a++,根据运算符的优先级,的确先执行自增运算符++,但它是后置的++,也就是作用时先让表达式 a++ 产生一个结果,然后变量a再自增。综上,++的执行次序在=之前,但是赋值时采用的是表达式a++的返回值,而a++的返回值是a的旧值还是自增后的值取决于++是后置的还是前置的。然后再执行赋值运算符,将表达式a++的返回值(a的旧值,刚刚产生的结果)赋给变量b。答:先执行++不等于先自增!原创 2023-10-04 17:31:00 · 282 阅读 · 1 评论 -
【C语言疑难杂症】VS2022 报错LNK1168 无法打开 filename(项目名称) 进行写入
然后将其关闭即可。原创 2023-08-18 21:24:27 · 1026 阅读 · 1 评论 -
【C语言疑难杂症】sizeof与函数strlen的区别
sizeof计算字符个数的方法是先计算出整个字符串的字节大小,然后除以单个字符的字节大小得到字符个数。此时结束标志字符 '\n' 也会计算在内,因此用最终结果减去一才是字符串中的字符个数。strlen从字符串中的第一个字符开始读取,遇见字符串结束标志 ’\n’ 时,停止读取(结束标志‘\n’不会读取)1.类型:sizeof是操作符;strlen是库函数,需要引入头文件。2.功能:sizeof用于计算对象所占内存字节数;strlen用于计算字符串中的字符个数。原创 2023-08-17 12:08:42 · 38 阅读 · 1 评论 -
【C语言疑难杂症】自定义函数名由多个单词组成时可能犯的错误
多个单词之间不能用空格连接,否则会报错。正例:一般用下划线连接。原创 2023-08-17 11:35:55 · 46 阅读 · 1 评论 -
【C语言疑难杂症】vs2022使用库函数时被警告或提示错误
但是第二个函数在形式上显然要更复杂,使用它会影响我们敲代码的速度,于是我们选择第二种方法,但是每次都在程序开头打那么长一串字符太费劲,有没有什么方法让程序自动生成这句话呢?我们每次创建一个源文件时,这个源文件都拷贝自一个叫newc++file.cpp 的文件,该文件初始时为空,只要我们在这个文件中加入那串字符,那么程序就会自动生成了!3.我们可以将该文件拷贝到桌面或其他路径,得到备份的修改权限,然后再将备份放回原来的路径(在文件VCprojectItenms中)并覆盖掉原来的文件即可。原创 2023-08-17 10:18:35 · 506 阅读 · 0 评论 -
【C语言疑难杂症】a++与a+1
a++表示自增,即变量a的值增加1;而a+1是个计算式,其返回值需要一个变量来接收,如b=a+1表示对变量b赋值,其值是在变量a的值的基础上增加1。本质区别:a++有返回值,而a+1没有返回值。原创 2023-08-17 11:07:06 · 719 阅读 · 1 评论 -
【C语言疑难杂症】if和else if后的判断条件同时成立
原因:if与if else是一个非此即彼的关系,它们不能同时执行。结果:程序执行位置靠前的if后的语句项。原创 2023-08-17 11:21:44 · 1664 阅读 · 1 评论 -
【C语言疑难杂症】Visual Studio控制台一闪而过
首次我们右击项目点击。原创 2023-08-01 22:49:18 · 120 阅读 · 0 评论 -
【C语言疑难杂症】break的使用困惑
(2)在嵌套循环语句中,break只影响内部循环而不作用于外部循环。(1)break不作用于if语句中。原创 2023-07-30 10:13:18 · 48 阅读 · 1 评论 -
【C语言疑难杂症】定义数组没有声明大小引起的错误
那么编辑器就会把首次定义数组时数组里存放的元素个数默认为该数组所能存放元素个数的最大值。图示数组arr并未声明大小,原创 2023-07-31 21:28:19 · 302 阅读 · 0 评论 -
【C语言疑难杂症】逻辑或 || 两边的条件同时成立
如果||两边的条件同时成立,下面的语句也只会执行一次。原创 2023-07-31 10:08:17 · 417 阅读 · 1 评论