您的位置:首页 > 编程语言 > C语言/C++

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

2017-10-30 16:32 225 查看
#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;

}

4000

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

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

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

通过这样,我们可以完好的表达了该程序除非字符以外,字符按照字符+1的操作打印出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐