《C语言解惑》—— 第1章 初涉C语言者的困惑

简介:

本节书摘来自华章出版社《C语言解惑》一 书中的第1章,第1.1节,作者:刘振安 刘燕君,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第1章 初涉C语言者的困惑

初学C语言首先要建立良好的习惯并克服最常见的错误。

1.1 中文字符以假乱真

不管是初学者还是有经验的程序员,都会碰到这个问题。这往往是在拼音状态下输入标点符号之类的字符造成的。假设语句

printf("%s","OK");

中的“,”号是中文字符,编译器会给出如下信息:

error C2018: unknown character '0xa3'
error C2018: unknown character '0xac'

注意:只要给出“0xa”的标识,就可断定该行存在中文字符。

只要稍微注意一下就可以避免这个错误。其实,多数的错误不是在输入程序时误输入,而是直接将Word文档里或网上的程序拷贝到源文件中造成的。一般是因为整理文档里的程序时,人为地使用中文字符或插入图形符号,例如&、[、] 、& 、# 、﹨等符号。
只要编译系统给出出错信息并定位到所在行,就很容易判断出错误。有点难度的是中文空格,这个空格一般有三种情况:一行的首、尾和其他位置。假设下面程序除第1行之外,其他行的首尾均有空格,看看这类错误的表现形式。

#include <stdio.h>
void main( ) 
{ 
         printf("%s\n","OK");   //打印输出
}

当编译给出第二行有错误的信息时,可以把鼠标光标放到第一行的尾部,按一下“↓”键,这时光标移到下一行并停在离“)”的一段距离处,这说明光标左边有中文空格。用Backspace键删除前面的空格,删到“)”处即可。如果将光标放在“#”处,按一下“↓”键,光标会停在离字母“v”的一段距离处,使用删除键删除右边的空格即可。
其他各行同样处理,对于第4行,如果“//”号的字体不是绿色的,说明注释语句之前有空格,注释不起作用,往左边删除,直到“//”号变为绿色。
需要注意的是,编译拷贝的程序时,可能会给出很多错误信息,而且可能给出的错误种类也很多。如果第1个错误就有“0xa”的标识,则一定要先解决它。有时解决它之后,其他的错误可能就没有了。

相关文章
|
8天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
21 3
|
3天前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。
|
9天前
|
C语言
c语言回顾-函数递归(上)
c语言回顾-函数递归(上)
25 2
|
11天前
|
Java 编译器 C语言
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
15 3
|
14天前
|
存储 程序员 编译器
C语言——动态内存管理与内存操作函数
C语言——动态内存管理与内存操作函数
|
14天前
|
C语言
C语言字符(串)函数
C语言字符(串)函数
|
14天前
|
C语言
C语言函数返回值详解
本文详细解析了C语言中函数返回值的概念与应用。从函数的基本定义入手,深入探讨了不同类型返回值的作用及意义,并提供了实用的编程示例,帮助读者更好地理解和使用函数返回值。通过本文,你将掌握如何有效利用返回值优化代码结构与功能实现。