C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了isspace()是否接受getchar()值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果输入为 representable as unsigned char或等于EOF,则 isspace()有效.

getchar()从stdin读取下一个字符.

当getchar()!= EOF;所有getchar()返回的值都可以表示为unsigned char吗?

uintmax_t count_space = 0;
for (int c; (c = getchar()) != EOF; )
  if (isspace(C))
    ++count_space;

愿这段代码导致未定义的行为吗?

解决方法

根据C11 WG14 draft version N1570

即,

> isspace()接受getchar()值
> all getchar()!= EOF值可表示为unsigned char
>这里没有未定义的行为.

如果你认为它太明显了(“它还能做什么”),那就再想一想.例如,在the related case:isspace(CHAR_MIN)可能是未定义的,即,将字符传递给字符分类函数可能是未定义的行为!

如果UCHAR_MAX> INT_MAX结果可能是实现定义的:

大佬总结

以上是大佬教程为你收集整理的isspace()是否接受getchar()值?全部内容,希望文章能够帮你解决isspace()是否接受getchar()值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。