大家好,欢迎来到IT知识分享网。
在写C语言上机题时遇到一行代码是
word[i] |= 0x20;
| 是“按位与”的意思
|= 就是按位与后赋值
0x20 是十六进制,转换为十进制是32,即ASCII码为32的空格
完整的函数如下:
bool is_the(char word[15]) //判断word是否为"the" { char the[] = "the"; if (strlen(word) != strlen(the)) return false; for (int i = 0; i < strlen(word); i++) word[i] |= 0x20; return strcmp(word, the) == 0; }
实现的功能是:
对每个字符转换为小写字母。如word[i]为’T’时,ASCII码为84,转换为二进制 。与0x20即二进制为10000进行按位与。得到,转换为十进制是116,对应的ASCII码为’t’。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122333.html