C语言中几种报错类型的解决方案

时间:2025-02-23 10:49:14

C语言中几种报错类型的解决方案

声明:本人小白,第一次写博客,由于查报错原因比较困难,为了方便记下自己敲代码遇到的问题而随笔写下,文中有诸多错误,希望路过的大佬能够对我的文章批评指正。我也会不断修改完善此文章。

1. [Error] stray ‘\243’ in program(中文符号报错)

[Error] stray ‘\273’ in program

[Error] expected ‘,’ or ‘;’ before ‘S’(语法报错,想让你加,或者;)

[Error] expected ‘;’ before ‘}’ token(语法报错,想让你加;或者})

这种情况一般是使用了中文符号且一般是分号。
需要注意的一点是如果分号在句子末尾,那么程序报错的位置会在它的下一行,第三句错误中before后面的位置应该为下一行开头的位置。

2. [Error] ‘L’ undeclared (first use in this function)(变量未定义)

这种情况一般是没对L这个变量进行类型定义,如果定义了的话有可能是语法或符号有问题,应该仔细检查定义类型的句有无问题。并且,也需要注意一下上下句的语法,符号是否正确,如果上一句结尾的符号不正确也会导致下一句语法错误。

3.[Error] stray ‘\243’ in program(中文符号报错)

[Error] stray ‘\250’ in program

[Error] stray ‘\251’ in program

这种一般也是中文符号报错,很大可能是括号。
如果只显示[Error] stray ‘\251’ in program则是半个括号的错误;
如果是同时显示
[Error] stray ‘\251’ in program
[Error] stray ‘\250’ in program 则是一对括号的错误;

4.[Error] ld returned 1 exit status

在主函数使用其他函数时,打错函数名称时会出现此类错误。
看到其他大佬说也有可能是环境配置问题。

5.程序异常终止

原因可能为找不到地址,例如:
1.

int a;
scanf("%d",e); 

这里scanf少一个取址符号&,找不到地址程序就会半途终止。
2.指针使用时没有指向地址也会导致程序异常终止。
3.在主函数中未申请内存使用指针也会导致程序异常终止。