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

时间:2021-09-26 01:40:50
#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的操作打印出来。C语言ctype.h系列的字符函数





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