这个代码是计算有多少字母,数字,和空格。
我想请教,下面这张图输出的结果4 2 3是完全正确的,但是第二个if的条件语句对数字的计数,把else if换成if就会导致结果为3 3 3,代码和结果如图一所示,请问这是哪里的问题?!
当输入的是字母的时候,isalnum也返回true,因为16进制里abcdef也是合法数字
所以你必须要写else
另外,你要把i++拿到括号外面来执行,不管前面进入哪个if,都统一执行一次i++
你现在的逻辑,反复进入if就反复执行i++,导致跳过了一些字母没有进行判断