在这次作业中,发现的问题大都是使用c语言的语法错误。下面对于这次编程作业中出现的问题做个总结。

    出现的问题主要有:

    1. 编译错误,表现形式为:在c语言中变量未定义就使用、英文分号和英文括号错用成中文、单词拼写错误,出现的词有float、#include等。

scanf、printf函数调用错误,scanf调用时,需要有取地址符&,例如:int a; scanf("%d", &a),这里的&不可缺少。printf要输出的字符串必须用双引号括起来。缺少分号,分号是c语言中一条语句的结束符,不可缺少。

    2. 格式错误,输出格式要与题目要求的不一致,如:缺少空格、输入输出中缺少逗号、不该有引号的地方使用了引号。导致格式错误的一个原因:很多同学把要求输出的一句话分开两句话输出结果导致少了空格。

    3. 段错误,输出char类型变量要使用%c占位符,%s为字符串的占位符。

    4. 计算错误,对要计算的公式书写错误。

     在此次作业中,很多同学在未改正程序存在的问题的情况下,多次对一个题目进行提交。同学们应该学会查看编译器输出的错误信息,对此进行分析,并进行修改后,确认无语法错误后进行提交。可以在本地编译器中尝试运行自己编写的程序,并进行测试和修改无误后再进行网络上的提交。

     查看错误技巧举例:下面这段代码存在问题,通过查看编译器报错信息,可知return 0后面的分号存在问题,仔细查看可以看出该分号为中文分号。

     捕获.PNG

    在这次作业中,第一题主要出现的问题是格式错误,如:main()函数的使用错误,main()函数有返回值,所以是int main(),而不是void main()。

    第二题中出现的问题主要是输出格式问题,输出与题目要求不一致, 空格换行与要求不一致,输出占位符不正确和段错误。

    第三题中出现的问题:格式错误,不该输出回车(\n)的时候输出回车,变量定义为double型写成float型。

    第四题中题目要求使用double类型,很多同学使用float类型,请同学们注意审题。

    第五题中,存在的问题为scanf输入,scanf输入时要按照括号里格式的原样输入,就是有逗号的时候输入时也要有逗号,没有的时候则不需要。

    希望同学认真分析代码出错的原因,如果有同学对于自己的代码问题有不清楚的地方,欢迎在网站上发帖讨论。希望同学们在做题时,遇到问题可以积极发帖,我们看到后会尽快回复。

Comments  

# Moderator 2021-09-28 22:13
感谢助教的问题分析。

各位有相应问题的可以对照一下。也可以继续提问。

You have no rights to post comments