1.用格式符%c将字符逐个输入输出
例5.14 输入一串字符序列(其中包括英文字符和数字字符),最后一个字符是*。分别统计这串字符中的英文字符个数和数字字符的个数,然后输出这串字符中的英文字符,最后输出这串字符中的数字字符。
【分析】将输入的字符(*是结束标志)存放在数组中,循环判断并统计,然后循环判断并输出。
程序代码如下:
2.用格式符%s将字符串整体输入输出
例5.15 输入一串字符(小于80个字符)存放在一个数组中(以回车符结束输入),将其中的英文字符存放到另一个数组中并输出这些英文字符。
【分析】首先用%s控制输入一串字符存放在一个数组中,然后判断并将英文字符存放在另一个数组中,最后输出存放英文字符的数组。
程序代码如下:
对于字符数组元素的输入输出,说明如下:(www.daowen.com)
(1)格式符%s对应的输出项是字符数组名称,不是字符数组元素名称。格式符%c对应的输出项是字符数组元素名称,不是字符数组名称。
(2)用%s输出字符数组元素值时,从数组的第一个字符开始向后逐个字符输出,遇见'\0'就停止,即使存储的字符个数远小于数组长度,遇见'\0'也结束输出。例如:
数组st的前7个元素中存储了7个字符(非'\0'),st的后面的元素存储的字符都是'\0',输出7个字符后,遇见了'\0',结束输出。
(3)若字符数组中包含两个或两个以上的'\0',则遇见第一个'\0'时就输出结束。例如:
执行语句后,将只输出“abcde”,后面的“fgh”没有一起输出。
(4)当使用格式符%s将一串字符存放在字符数组中时,这串字符的中间不能有空格,否则只把第一个空格前的字符存储到了字符数组中。例如,执行下面3行语句:
若输入如下的中间有空格的一串字符:
则实际上只将第一个空格前的8个字符“students”加上'\0'存储到字符数组s中。当执行“printf("%s",st);”时,输出“students”。
要想使用%s将包含空格的一串字符存放到字符数组中,可以使用函数gets。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。