C语言ctype.h系列的字符函数

#include <stdio.h>


#define SPACE ' '


int main()
{
char ch;


ch=getchar();


while(ch!='\n')
{
if(ch==SPACE)


putchar(ch);


else
putchar(ch+1);
ch=getchar();
}


putchar('\n');




return 0;

}


上面的程序是通过getchar函数和putchar输入输出;

getchar()相当于字符串中的scanf函数;

putchar()相当于字符串中的printf打印;

***************************************

通过该程序,我们可以得到的输出结果,空格照常打印,字母加1,即其下一位字母【但是当我们输出.的时候换成了/】

由程序可以看出:如果字符是空白,原样打印;否则,打印原字符在ASCII序列中的下一个字符;

只当它不为换行,我们可以解释为【当一行未结束】-【如果是空格则不变】--【如果是字符,那么获取下一个字符即ch+1】.



那么有没有办法将上面的程序【标点符号照样2打印呢?】

【答案是通过ctype.h系列的字符函数】;

【通过该头文件可以完好的保留了非字母字符,只转换字母】;


下面演示一遍

******************************

#include <stdio.h>


#include <ctype.h>


int main()
{
char ch;


ch=getchar();


while(ch!='\n')
{
if(isalpha(ch))


putchar(ch+1);


else
putchar(ch);
ch=getchar();
}
putchar('\n');


return 0;
}

**********************

通过程序我们可以看到使用了ctype.h的头文件;

然后调用其isalpha()函数进行条件的判断【表示参数是字母的话,返回值为真】;


通过这样,我们可以完好的表达了该程序除非字符以外,字符按照字符+1的操作打印出来。生气





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值