zoukankan      html  css  js  c++  java
  • 重读gets()与is函数的用法

    这是从百度百科上查找的资料:

    gets():

    从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。

    所以用gets来输入字符串时换行符被读取(不留在缓冲区),并被系统转化为null值

    所以,下图是错误的用法:

    相比之下,而getchar()可以将换行符作为内容:改变一下后为

    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    int main()
    {
    char c;
    int i = 0, j = 0, k = 0, l = 0,m=0;
    printf("请输入一个长度不超过200的字符串: ");
    while ((c=getchar())!= ' ')
    {
    if(isalpha(c))
    j++;
    if(isdigit(c))
    k++;
    if(isspace(c))
    l++;
    if(ispunct(c))
    m++;
    }
    printf("该字符串的字母个数:%d,数字个数:%d,空格个数:%d,标点个数:%d", j,k,l,m);
    return 0;
    }

    不过从这个程序中还是有许多函数可以借鉴:

    1.isalpha()

    用法:头文件加入#include (C语言使用<ctype.h>)

    功能:判断字符ch是否为英文字母,当ch为英文字母a-z或A-Z时,则函数返回不是1的值,否则返回0

    同理:

    isupper
    原型:extern int isupper(int c); 
    头文件:<ctype.h>
    功能:判断字符c是否为大写英文字母 
    说明:当参数c为大写英文字母(A-Z)时,返回非零值,否则返回零。 
    附加说明: 此为宏定义,非真正函数。 
    islower
    islower(测试字符是否为小写字母) 

    2.isdigit

    原型:extern int isdigit(char c);
    用法:#include <ctype.h>
    功能:判断字符c是否为数字
    说明:当c为数字0-9时,返回非零值,否则返回零。
    附加说明 此为宏定义,非真正函数。 

    3.isspace

    表头文件 
    #include<ctype.h>
    定义函数 
    int isspace(int c)
    函数说明 
    检查参数c是否为空格字符,也就是判断是否为空格(' ')、水平定位字符
    (' ')、归位键(' ')、换行(' ')、垂直定位字符('v')或翻页('f')的情况。[1]
    返回值 
    若参数c为空格字符,则返回TRUE,否则返回NULL(0)。
    附加说明 
    此为宏定义,非真正函数。

    4.ispunct

    表头文件
    #include<ctype.h>
    定义函数
    int ispunct(int c)
    函数说明
    检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为
    非空格、非数字和非英文字母。

  • 相关阅读:
    HTML标签语义化对照表
    C#自定义分页控件3.0
    并发小工具
    C#方法
    我所知道的一个简单类
    等快递无聊旋转字符串
    委托
    撒列实现关键字过滤,速度可快了
    垃圾回收代
    递归再一次让哥震惊了
  • 原文地址:https://www.cnblogs.com/scbxiang/p/4141010.html
Copyright © 2011-2022 走看看