- 博客(4)
- 收藏
- 关注
原创 用c语言打印100以内的素数
②判断flag是否等于0,要用==,而不是赋值=,要是漏了个等号,就会变成把1赋值给flag,也就会打印所有的数(此时if()永远为真)。代码很简单,思路是将i遍历,然后将i和1~i-1之间的数分别整除,余数为0则不是素数。
2023-08-07 11:44:35 909 1
原创 C语言中实参跟形参之间涉及交换的传递
形参本身也有自己的内存地址,我们把实参的值传递过去,存放在了形参的空间里,于是乎,对形参进行了a和b值的交换,却影响不了实参,因为他们的地址是不同的,可以复制代码自己去调试,我忘了截图。主函数里的Swap函数之所以传的是a和b的地址而不是a和b,是因为传a和b时只是把他们的值传递给了定义的Swap函数的形参,用于计算,这里我要起的作用是交换,简单看一下就明白,但问题出在哪里呢?注意,加法乘法这种函数不需要传地址,因为他们只是需要值,把值传过去,返回结果就可以,但交换需要地址。
2023-08-05 21:44:32 189
原创 Run-Time Check Failure #2 - Stack around the variable ‘password(数组名)‘ was corrupted.
要解决这个问题,你需要在声明数组时指定合适的大小,以确保分配足够的内存空间来存储你要使用的数据。这样,你可以根据需要动态调整内存大小,从而避免栈溢出问题。在C/C++中,数组是在栈上分配的,它们的大小在编译时确定。当你声明一个数组时,如果没有指定数组的大小,编译器无法知道需要为数组分配多少内存空间。如果你在声明数组后使用它,并且在使用过程中写入超出数组分配的空间范围的数据,就会导致栈溢出。程序可以正常运行,但程序结束退出时忽然报错闪退,原来是我定义password[]数组时没有规定数组大小,导致栈溢出。
2023-08-05 11:39:40 334 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人