什么是C语言的运行时的类型错误

知道编译时有时候会显示类型不匹配
但是运行时也会出现类型方面的错误吗



1. 路径名错误。在MS-DOS中, 斜杠(\)表示一个目录名; 而在Turbo C 中斜 杠是个某个字符串的一个转义字符, 这样, 在用Turbo C 字符串给出一个路径名 时应考虑"\"的转义的作用。例如, 有这样一条语句:

file=fopen("c:\new\tbc.dat", "rb");

目的是打开C盘中NEW目录中的TBC.DAT文件, 但做不到。这里"\"后面紧接的分别 是"n"及"t", "\n"及"\t"将被分别编译为换行及tab字符, DOS将认为它是不正确

的文件名而拒绝接受, 因为文件名中不能和换行或tab字符。正确的写法应为:

file=fopen("c:\\new\\tbc.dat", "rb");



2. 格式化输入输出时, 规定的类型与变量本身的类型不一致。例如:

float l;

printf("%c", l);



3. scanf()函数中将变量地址写成变量。例如:

int l;

scanf("%d", l);



4. 循环语句中, 循环控制变量在每次循环未进行修改, 使循环成为无限循

环。



5. switch语句中没有使用break语句。



6. 将赋值号"="误用作关系符"=="。



7. 多层条件语句的if和else不配对。




8. 用动态内存分配函数malloc()或calloc()分配的内存区使用完之后, 未

用free()函数释放, 会导致函数前几次调用正常, 而后面调用时发生死机现象,

不能返回操作系统。其原因是因为没用空间可供分配, 而占用了操作系统在内存 中的某些空间。



9. 使用了动态分配内存不成功的指针, 造成系统破坏。



10. 在对文件操作时, 没有在使用完及时关闭打开的文件。

可以进行类型检查的。

可以进行类型检查,再看看

运行时错误就是在运行过程中出现的错误,比如你写了一个两个数相除的代码,第一次是除以10没错,第二次如果是除以0就会出错了