- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读一本关于 c++ 的书(Ulla Kirch-Prinz 和 Peter Prinz 编写的 C++ 编程完整指南;ISBN:0-7637-1817-3),其中提到了 isupper(),以及 islower(),isalpha( )、isdigit()、isalnum()、isspace() 和 isprint() 是字符分类的宏。
我觉得这种奇怪的原因有两个:
sizeof
)。 最佳答案
标准 C(据我所知,在其所有版本中)允许将任何标准库函数也定义为宏。在当前的 C 标准中,这被隐藏在第 7.1.4 节(库函数的使用)第 1 段中:
Any function declared in a header may be additionally implemented as a function-like macro defined in the header… Any invocation of a library function that is implemented as a macro shall expand to code that evaluates each of its arguments exactly once, fully protected by parentheses where necessary, so it is generally safe to use arbitrary expressions as arguments.
getc
,它在语义上与
fgetc
相同,除了
getc
允许实现为不止一次评估其参数的宏。)
c
开头的函数)到
#undef
包括相应的 C 头文件后的所有(潜在)宏定义。
关于c++ - isupper() 是宏还是函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61049359/
我正在阅读一本关于 c++ 的书(Ulla Kirch-Prinz 和 Peter Prinz 编写的 C++ 编程完整指南;ISBN:0-7637-1817-3),其中提到了 isupper(),以
我目前正在阅读“The C Programming Language 2nd edition”,我对这个练习不太清楚: Functions like isupper can be implemente
我必须检查字符串的第一个字符是小写还是大写。 当我使用英语名称(如David),但弹出带有重音字母的名称(如Á,É,Í,Ó等)(如Árpád)时,效果很好,然后它认为它是小写字母。 string na
这就是问题所在,我的程序没有将大写字母更改为小写字母。我不明白为什么不。 #include #include using namespace std; int main(){ string
我正在学习 haskell,我正在尝试编写一些简单的函数。在我使用函数 isUpper 之前,一切都运行良好。由于此错误,我无法编译该项目: [1 of 1] Compiling Main
这个问题在这里已经有了答案: C# method group strangeness (2 个答案) 关闭 9 年前。 我刚刚看到以下答案:Is there a better way to crea
我收到指向“in”语句的“无效语法”错误。我的错误是什么? while(notes > 1): note = choice(scale) if note[0].isupper() an
我似乎无法弄清楚为什么我的输出只有一倍。 #include #include int my_isupper(int c); int my_tolower(int c); int main(int ar
我正在尝试使用 lex 和 yacc 进行编译器,但由于某种原因,该代码无法在我的 MAC 中的 VM 机器中运行,因为它说 header 中缺少一些函数。这些函数是 islower() 和 isup
我有一个 std::wstring,我想找出哪个字符在上面大小写,哪些是小写。 std::isupper 和 islower 似乎只处理 ASCII 字符,但我希望能够找出所有字符各种大小写字符 例如
我在官方看到了这个说法Python documentation : str.upper().isupper() might be False 有人可以解释一下吗? 最佳答案 如果字符串是数字或由没有大
我正在尝试编写一个函数,它使用 for 循环和 isupper 方法来仅打印字符串的大写字母。 到目前为止我做了什么: upper_chars = "" def only_upper(s):
我创建了一个简单的程序来检查用户输入的字母是大写还是小写,然后使用std::isupper()和std::islower()函数将小写字母转换为大写字母,并将大写字母转换为小写字母。在运行代码时,我得
我在如何使用 isUpper、isLower 和 isDigit 时遇到了问题。具体来说,我试图获取一个字符串并为字符串中的每个字符返回一个元组列表,其中包含三个 Bool 值,用于表示字符是大写字母
我有一个类似这样的代码片段: char choice; do { cout > choice; if(islower(choice) == 0){ toupper(choice); }
我需要计算用户输入的句子中大写字母的数量。 当我在 Google 上搜索解决方案时,我遇到了命令 sum(1 for c in sentence if c.isupper()))。 我使用了它并且它有
谁能向我解释他们将如何找出字符串单词的大写和小写字母?我需要知道单词是说“fish”、“Fish”、“FISH”还是“fISH”。到目前为止,这是我的代码: #include #include #
这个问题在这里已经有了答案: std::transform() and toupper(), no matching function (3 个回答) 去年关闭。 考虑以下代码: #include
这段代码只输出大写字母的个数。它总是将 numMarks 和 numSpaces 输出为 0。我也尝试过 sentence.c_str() 得到相同的结果。我无法理解发生了什么。 cout int
关于 islower() 和 isupper() 的下面两行在 Mike Banahan 的 C 书的同一段落中给出了 (Link: Section 9.3) : islower(int c) Tru
我是一名优秀的程序员,十分优秀!