#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'或空格都停止輸入。