02 2020 档案
摘要:程序中需要从CMD界面输入国家名称之类的字符串,这些字符串长度不等。想了第一个方法,用一个长字符串数组,比如: char name[20]; name[5] = "China";//这个其实是给name的第6个元素赋值; 发现编译不通过。原来这种不是初始化,而是赋值,而对数组这样赋值是不对的。这种字
阅读全文
摘要:用了scanf在VS2010,编译提示说,建议用scanf_s。 #include<stdio.h> printf("Enter String:"); scanf("%s",string_input); 原因和区别: scanf()在读取数据时不检查边界,所以可能会造成内存访问越界: 1 2 3 4
阅读全文
摘要:用scanf函数赋值给int变量,发现错误。 int country_num=0; scanf("%d",country_num);//错误,运行报错 查阅后发现,需要用&指针取址。 scanf("%d",&country_num);//正确 本文版权归作者所有,谢绝转发,违者必究。
阅读全文
摘要:第一次使用malloc函数,发现很好用,可以直接开辟内存给指针。 1. 在 malloc的使用.c 文件中包含各种需要用到的头文件 #include<malloc.h> 2. 使用malloc语句,指定内存大小 int *input; input = (int *) malloc (sizeof(i
阅读全文
摘要:用printf放在int定义之前引发visual studio编译失败; 出现错误: error C2143: 语法错误 : 缺少“;”(在“类型”的前面)? 查了很久没弄明白;后来发现定义全部要放最前面。 详细说明 标准C99的要求。 最标准的C语言要求所有的局部变量定义必须放在函数的最开始,局部
阅读全文