#include<stdio.h>
#include<stdlib.h>
#include<ctype.h> //isalpha()函数的头文件
int main()
{
char *p = NULL;
p =(char *)malloc(100*sizeof(char)); //将malloc函数返回的void *指针强制转换为char *指针
printf("请输入字符串:\n");
gets(p); //输入字符串
printf("\n删除了所有空格和标点符号的字符串\n");
while (*p)
{
if (isalpha(*p))
{
printf("%c", *p);
}
p++;
}
printf("\n");
return 0;
}
运行效果:
1、isalpha()函数
作用:判断是否为字母
头文件:#include<ctype.h>
原型:int isalpha(int ch)
返回值:若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0。
2、gets()函数
原型:gets(数组名)
作用:把输入的字符串传入给定的数组中
头文件:#include<stdio.h>
返回值:正常时返回字符串存放的数组的首地址(指针),错误或遇到EOF时返回NULL
3、while(*p)
解读:*p内容有值,也就是while(*p)等同于while(*p!='\0'),\0是字符串结束的标志,字符串结束之前都有值
4、printf("%c",*p)
等同于putchar(*p),putchar()函数作用是向终端输出一个字符
5、scanf()函数与gets()函数的区别
在于输入的字符串是否中间有空格,对于gets()函数,只有遇到'\n'时才停止输入,对于scanf()函数,出现'\n'或空格都停止输入。
C++程序:
#include <iostream>运行测试:
请输入一个字符串:How are you ?