当前位置:  开发笔记 > 编程语言 > 正文

如何定义一个测试给定字符是否为元音的宏?

如何解决《如何定义一个测试给定字符是否为元音的宏?》经验,为你挑选了1个好方法。



1> Govind Parma..:

这是因为除了VOWELS宏中最左边的值之外的所有值都没有被测试c.宏扩展到的是:

c == 'a' || 'e' || ...

所以基本上,因为'e'正在测试非零表达式(即,字符的数值),所以总是求值为1.

宏应该是什么:

#define VOWEL(c) ((c) == 'a') || ((c) == 'e') || ((c) == 'i') || ((c) == 'o') || ((c) == 'u') || ((c) == 'A') || ((c) == 'E') || ((c) == 'I') || ((c) == 'O') || ((c) == 'U')

然后,你只需使用:

if(VOWEL(c))
{
    ...
}

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有