1.error C2296: '&' : illegal, left operand has type 'char [3]'
scanf("%d" &x);
少了一个逗号
scanf("%d", &x);

2.char数组,没有定义数组长度的时候,运行会崩溃

解决方法:char型数组记得一定要定义一个长度

3.char数组定义长度后,但是赋值的时候并没有赋值那么长,控制台打印出现“烫烫烫..............”,
那是因为你没有赋值完,程序会将后面的默认赋值为CC h,打印出来就成了烫字
比如,你定义的数组是char a[10],最后你从控制台输入的字符数组为“lisi”,这个“lisi”的长度为5,所以后面的存储空间就默认为cccccch了,打印出来的就是烫字

4,如何定义变长的char数组
//(1).动态分配啊~每次都分配,每增加一个字符,就动态分配一个char字符空间给他
//char * p =(char*)malloc(sizeof(char)*1)等等
(2).没办法定义 ”变长数组“
char array[x];

x的值 在定义(分配空间时)必须指明 或者程序能得到x的值。

变长数组 基本实现思路是
申请一块内存 可存放x个元素 当元素的个数大于x后增加x/n个元素空间(可以使用内存复制)
数组对长度要求是静态的。全局数组在系统初始化时在数据段为其分配空间,如果数组大小不明确,数据段无法为其分配空间,因为还有别的数据需要在数据段分配空间;局部变量数组在创建函数调用栈时也要求数组指定大小,因为局部变量是在栈底分配空间的,如果数组大小不明,栈的后续增长就不知道从哪里开始了。

一般对于这种需求,都是临时根据需要申请动态内存来用。

5.fatal error C1010: unexpected end of file while looking for precompiled header directive
在vc6.0下面出现这个错误,一般是没有加头文件StdAfx.h
在cpp文件前面加上#include "stdafx.h",重新编译即可

6.D:\test2\test2.cpp(15) : error C2106: '=' : left operand must be l-value
;
error C2106: '=' : left operand must be l-value
是说: '='左边必须是变量,不能是常量或者表达式
比如,下面的几个例子,都是同样的错误:
5=3;
(i+j)=3;

7.strlen(ch),这里的ch为char *型
要字符数组的长度,则sizeof(ch)

8.头文件中有.h和没有.h的区别
有.h是c语言的头文件
没有.h是C++的头文件
以<string>和<string.h>为例:
在c++中,这样用:
#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件

using  std::string;

using  std::wstring;

using namespace std;

在C语言中是
#include <string.h>

9,C语言中,定义字符数组,然后从键盘输入字符串赋值给整形数组
char stu1[i].name[];
scanf("%s",stu1[i].name);
和gets(stu1[i].name);
这两者有却别的就是
scanf以空格为结束
gets以 换行符作为结束

10.c语言文件读写函数
fwrite
fputs
fprintf都是可以写的,但是呢,fwrite写入的数据是二进制,打开看肯定是乱码
fputs是读入字符串,记事本打开可以看见
fprintf,是读入整形浮点型数据,记事本打开可以看见
fprintf(fp, "%d, %f, %f\n", x, y, z);
这三种写的文件都是可以读取的

11.c语言.chm 文档要好好看,找函数原型了解
百度,函数原型了解各种参数的含义
基础知识是很重要的

12.浮点型数组的定义:float f[100];
13.atoi函数,把字符串转换成整形
14.把一个10以内整数转行成字符
int 9
char s
s=9+'0';//s=9+48;
printf("%s",s);
输出为9;即s='9'

ostream_iterator<string> output(cout," : ");
//ostream_iterator<srting> output=(cout,","); 拼写错误啦!string,而不是srting

2015-2-3

9.getchar()和gets()的区别

C:\Windows\System32\KernelBase.dll', no matching symbolic information found.
表示调用dll时传入的参数有错误,
这个参数可以是printf,scanf等系统函数的格式,多注意逗号,一般新手会出现这样的编译错误
这个参数可以是函数传参的格式,类型等等
这个参数也可能是else if中的参数
这里有个技巧就是。用else的时候一定带上if,养成习惯
调试到出现错误的地方,在这附近的凡是出现参数的地方都检查一下

const和define的区别

尽可能将全局变量定义都在执行语句的最前面,要么可能会出错

如果printf里面传入一个函数,打印出来的是0,那么先定义一个变量。给这个变量赋值为函数的返回值
然后在printf里面打印这个变量

有一个函数:float sum(float num[],int x,int n)
printf("结果为:%f\n",sum);打印为0;

试试
float res;
res=sum(a,x,n);
printf("结果为:%f\n",res);

c下面strlen(str1)
c++下面 str1.length();

-858993460
最近使用VC++6.0时发现以下情况:
1.当一个未初始化赋值的时候,他在内存就默认保存为-858993460;
2.如果变量的数据类型由于你的运算的溢出了,在内存中系统就自动改为-858993460。
注:一般的书上都会说如果一个变量未付值,系统会给他一个随机值。但实际测试VC++6.0 里实际上是-858993460。TC上的数值是随机,每次都不一样。

int result;
printf("%d",result);

友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend。

isdigit函数
ctype.h

2015-2-16
1.vc 6 ide 不能打开了,一直停留在打开页面,一般是插件出了问题,可能是损坏,可能是过期了之类的,总之尝试着把插件卸载~就可以打开vc 6了

2.unsigned char Prior[8][8] =
{ // 运算符优先级表
////// '+' '-' '*' '/' '(' ')' '#' '^'
/*'+'*/'>','>','<','<','<','>','>','<',
/*'-'*/'>','>','<','<','<','>','>','<',
/*'*'*/'>','>','>','>','<','>','>','<',
/*'/'*/'>','>','>','>','<','>','>','<',
/*'('*/'<','<','<','<','<','=',' ','<',
/*')'*/'>','>','>','>',' ','>','>','>',
/*'#'*/'<','<','<','<','<',' ','=','<',
/*'^'*/'>','>','>','>','<','>','>','>'
};
3,。VC6.0装了visual assist x补全代码具体怎么用?
输入字母后会像输入法那样出现一个菜单
但是怎么选择菜单里面的内容呢?
什么 回车 上下左右 按了都不是。、。。。
鼠标双击可以 但是太麻烦。。。
主要是不知道怎么选择
就是上下选中不了。。。按上下 就到 上一行或者下一行代码去了。。。
不会自动补齐的。。。只会显示。。。如果不选还是要自己打出完整的代码!!

安装一个高版本的visual assist x

4.overloaded function as left operand
因为你的left operand不知道是函数还是变量。。
如果是头文件中的函数名或者关键字,就不能定义成变量
5.illegal use of this type as an expression
格式错误,将这个变量定义在这个函数的第一行,养成良好的习惯~

2015-2-27
In function ‘void* client_thread2(void*)’:
multi_client_test_demo.cpp:167: 错误:expected ‘)’ before ‘;’ token
multi_client_test_demo.cpp:167: 错误:expected primary-expression before ‘)’ token
ulti_client_test_demo.cpp:167: 错误:expected ‘;’ before ‘)’ token
multi_client_test_demo.cpp:340: 错误:expected ‘}’ at end of input

这个错误是定义错误
返回代码查看167是while(j < REPEAT_TIME),然后找REPEAT_TIME的定义发现是“#define REPEAT_TIME 2000;”这里细心一点会发现2000后面的;是多余的,去掉重新编译就好了
再出现类似错误也可能是全角和半角的问题,或者{误写成了(之类的

C语言遇到的错误和解决方案~~~持续更新,记录成长的过程的更多相关文章

  1. Python语言上机题实现方法(持续更新...)

    Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...

  2. Python:常见错误集锦(持续更新ing)

    初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...

  3. 学习go语言一篇就够了(持续更新)

    前言:写博客也写了差不多一年了,我更多的时候是记录自己学习的情况,有时也有自己工作上遇到的bug,自己有时候也比较迷茫,不知道怎么去写博文,我也很想别人跟我提提建议,但是有时候觉得写写博客还是很有成就 ...

  4. IE兼容BUG汇总及解决方案(持续更新)

    本篇为总结开发过程当中遇到的各种IE兼容性的小问题,比较复杂的会单开一篇文章来讲解. 另:我手头目前只有原生IE8,原生IE9,原生IE11,以及IE11模拟的IE5,7,8,9,10.因IE6太过古 ...

  5. C++语言入门知识点(详细版)【持续更新每周三更】,小舒舒戳这里!!!

    时间过得好快啊,LITTLESUN已经在这块新地图摸打滚爬了一个多月了.前一段时间出了点小意外一直没能更新博客,昨天被小舒舒催更了(惭愧惭愧)便准备着手来一篇回忆录回首一下这一个月走过的风风雨雨,也希 ...

  6. Github-Q&A 常见错误排查(持续更新)

    Q1:提交Git时出现"remote origin already exists"提示?   关联本地与网上仓库的时候,可能会出现此错误,这是因为已经存在已关联的仓库.通过如下方法 ...

  7. ABP core2.2错误笔记,持续更新

    注:以下问题全部基于版本 © 2019 MLCDZ. Version 4.3.0.0 [20190830]  .net core 的版本为2.2 1.System.InvalidOperationEx ...

  8. Pandas 错误笔记(持续更新)

    更新至2018.5.1 字典生成DataFrame 今天一个字典生成一个DataFrame,采用了以下形式,每一个value都是一个数(不是vector) df = pd.DataFrame({ 'i ...

  9. 【STM32-V7】STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2019-12-12)

    说明: 争取做更多的实战性应用,分享更多的嵌入式技术,希望能在实际项目中帮到大家. (1)V7将大力加强对初学者的支持力度,已经更新至63章,下载链接,后37章和一批视频教程将加紧制作. (2)事隔五 ...

随机推荐

  1. shell脚本定时操作数据库

    一.数据库脚本(mysql.sh) Linux环境下,定时将数据库A的表格复制到数据库B中 #!/bin/bash mysql_host="127.0.0.1" mysql_use ...

  2. 导出excel表功能

    前台: <asp:Button ID="btndao" runat="server"  Text="导出excel文件" onclic ...

  3. 转载字典地址:http://blog.csdn.net/aladdinty/article/details/3591789

    相关文章: http://www.360doc.com/content/13/1003/23/14070959_318861279.shtml http://www.360doc.com/conten ...

  4. Knockout.Js官网学习(数组observable)

    前言 如果你要探测和响应一个对象的变化,你应该用observables. 如果你需要探测和响应一个集合对象的变化,你应该用observableArray . 在很多场景下,它都非常有用,比如你要在UI ...

  5. Java通过Executors提供四种线程池

    http://cuisuqiang.iteye.com/blog/2019372 Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果 ...

  6. .NET程序员爱上网站[整理]

    1.博客园(代码改变世界) http://www.cnblogs.com 2.开源中国社区(开源软件发现.使用和交流平台) http://www.oschina.net 3.CSDN(中国最大的IT社 ...

  7. Ubuntu 14.04 安装flash插件

    分别tar.gz和apt-get方法 第一种: adboe官网下载tar.gz,进入terminal 1.解压缩包,输入命令“tar -zxvf 软件包名字” 2.拷贝插件到mozilla目录,输入命 ...

  8. 7-ZIP实现数据高度压缩

    From:http://www.cnblogs.com/killerlegend/p/3746395.html Author:KillerLegend Date:2013.5.22 选中文件,鼠标右键 ...

  9. DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案

    最近刚接触到 DevExpress 13.1 这个皮肤组件, 觉得相当好用 于是开始准备搭建 个小应用的主体框架. 找了好久的就是没找到对应的文章来讲解这一块.. 翻了他们主网站上人家问的,以及API ...

  10. Server Tomcat v7.0 Server at localhost failed to start解决办法

    今晚搞了下tomcat,在调试的时候发现报了这样一个错误Server Tomcat v7.0 Server at localhost failed to start 首先,确认了端口号8080是不是被 ...