第一次写博客好激动。
本人菜鸟一枚,一直用脚本语言导致c++基本都快忘记了。今天写c++代码测试玩的时候发现一个有趣的问题指针创建一个字符串,然后for循环计算字符转中某个字母的出现次数。
例如 char *a = "hello world";
int num = 0;
for(;*a;a++){ if(*a == "o")num++;}
printf("%d",num);
当然这是伪代码,运行会发现输出的数字是0; what!!! 里面明明有两个o;
哪里出了错来,原来是单双引号的问题。c++声明字符串命令的时候用“”,但是声明单个字符的时候要用‘’,双引号后面默认的会有一个\0作为字符串的结尾,所以。。。我们怎么对比对比的都是o\0,然后一个都没有。