![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
_HooY
万基C
展开
-
VS2017使用scanf_s函数报错: (ucrtbased.dll)写入位置 0x00F6B000 时发生访问冲突。
#include <stdio.h>#include <malloc.h>int main(){ char *str= (char *)malloc(20*sizeof(char)); scanf_s("%s", str); printf("%s\n",str);} 在使用VS2017时,应编译器要求需使用更加安全的...原创 2019-03-18 17:54:09 · 17039 阅读 · 7 评论 -
C语言使用递归计算m的n次幂
#include <stdio.h>int mton(int m, int n) { if (n == 1) return m; else { return m * mton(m, n - 1); } }int main() { printf("%d\n", mton(2, 3)); //system("pause"...原创 2019-02-21 16:16:19 · 7299 阅读 · 1 评论 -
VS2017中使用fopen函数报错:This function or variable may be unsafe。win10下fopen使用需注意的问题总结
如果将代码改为stream2 = fopen("C:\\log.txt", "a+"),程序运行也会出错,直接复制文件到C盘都会出现下面的提示。其次在fopen函数参数路径在Windows环境下可以使用 / 或者 \\ 作为分隔符,两种方式都行,但如果在cmd命令行中使用路径只能用\\。因为VS2017默认使用更加安全的fopen_s函数,若要继续使用fopen,需要在 项目->属性->C/C++->SDL检查 中设置为否。最后一个问题是:盘符的名称是不区分大小写的,D:和d:是一样的,都能正常读取。原创 2019-04-04 17:14:28 · 4030 阅读 · 0 评论 -
C语言中单引号‘ ’与双引号“ ”的区别,带双引号的宏作为字符参数时需要注意的问题
C语言中在定义字符串时我们经常使用char *str = "test";这里的"test"是一个常量字符串数组,将其赋值到str实际上是将"test"这个字符串数组的首地址赋给str。所以我们看到双引号括起来的字符串,可以直接将它看成一个地址。而当我们定义一个字符时我们会使用char c = 't'这里的是将 't' 这个值赋赋值给c。c存储的值是 't' 这个具体...原创 2019-05-17 16:01:27 · 5094 阅读 · 1 评论 -
单指针表示的隐式结构体数组以及其成员访问方式
当我们看到一个结构体指针的时候,不要下意识的觉得它只是指向某一个结构体实例的地址,因为该地址的内存单元的值是不确定的,如果在该内存起始位置分配了多个单位结构体大小的内存空间,那么该指针指向的地址也可以看做一个结构体数组。如下代码所示:/*!* Description: 单指针表示的隐式结构体数组及其成员访问方式* Date: 2019-9-17* Author: HooY*/...原创 2019-09-17 20:03:26 · 419 阅读 · 1 评论