首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >isspace()只适用于8以下的数字?

isspace()只适用于8以下的数字?
EN

Stack Overflow用户
提问于 2015-10-18 05:50:19
回答 3查看 156关注 0票数 1

在我的代码中:

代码语言:javascript
复制
cout << "Isspace 5 and 10 are " << isspace(5) << " and " << isspace(10) << endl;

给出0和8。为什么isspace( 10 )不给0,因为10不是空白?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-18 05:53:48

你应该把字符传递给isspace,而不是整数。

代码语言:javascript
复制
isspace('5') == zero (false)
isspace(' ') == non-zero (true)

当您传递510时,您会询问具有ASCII值5 (ENQ,一些很少使用的控制代码)和10 (LF、行提要、AKA '\n')的字符是否是空格。ENQ不是空白,所以isspace返回零。一个行提要是空白,所以isspace返回一个非零值。

票数 1
EN

Stack Overflow用户

发布于 2015-10-18 05:54:12

因为根据issspace(),10 (0xa)是一个空格字符(newline/linefeed)。请参阅http://www.cplusplus.com/reference/cctype/isspace/

票数 2
EN

Stack Overflow用户

发布于 2015-10-18 05:56:46

您传递的数字被视为ASCII字符的数字表示。10是一个换行符,被系统认为是一个空格字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33194769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档