11.7 ctype.h字符函数和字符串

第7章“C控制语句:分支和跳转”介绍了ctype. h系列字符相关的函数。这些函数不能被应用于整个字符串,但是可以被应用于字符串中的个别字符。例如,程序清单11. 26定义了一个函数,它把toupper()函数应用于一个字符串中的每个字符,这样就可以把整个字符串转换为大写。此外,程序还定义了一个使用isputct()函数计算一个字符串中的标点字符个数的函数。

程序清单11.26 mod_str.c程序

阅读 ‧ 电子书库

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

阅读 ‧ 电子书库

循环while(*str)处理str指向的字符串中的每个字符,直到遇见空字符。当遇到空字符时,*str的值变为0(空字符的编码值),即为假,则循环结束。下面是一个运行示例:

阅读 ‧ 电子书库

ToUpper()函数把toupper()应用于字符串中的每个字符(由于C区分大小写,所以这是两个不同的函数名)。正如ANSI C所定义的,toupper()函数只改变小写字符。然而,C的一些很旧的版本不进行自动检查,因此旧的代码通常会这样做:

阅读 ‧ 电子书库

顺便提一下,ctype. h函数通常被作为宏(macro)来实现。这些C预处理器指令的作用很像函数,但是有一些重要差别。在第16章“C预处理器和C库”中我们会介绍宏。

接下来,我们讨论main()的圆括号里的void。