预计阅读本页时间:-
不一定要使用标准C库的函数进行输入和输出。如果不具备或者不喜欢它们,您可以自行定义,在getchar()和putchar()的基础上建立自己的函数。假定您希望有一个类似puts()但并不自动添加换行符的函数。程序清单11.10给出了一种方法。
程序清单11.10 put1.c程序
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
char指针string最初指向被调参数的第一个元素。由于这个函数并不改变字符串,因此使用了const修饰符。这一元素的内容输出以后,指针递增并指向下一个元素。这个过程一直继续下去,直到指针指向一个包含空字符的元素。记住,++比*的优先级高,这意味着putchar(*string++)输出string指向的值,然后再增加string本身,而不是增加string指向的字符。
可以把putl. c看作自定义字符串处理函数的范例。每个字符串都有一个空字符标志其结束,因此不必向函数传递字符串的大小。相反,函数依次处理每个字符直到遇到空字符。
用数组符号写这个函数会比较长:
其中用到了一个作为索引的额外变量。
很多C程序员会在while循环中使用下面的判断条件:
当string指向空字符时,*string的值为0,这将结束循环。这个方法需要的键入自然比前面的方法要少。如果您还不熟悉C的惯例,这一优点就不是很明显。上面的语句被广泛使用,C程序员应该熟悉它。