今天学了一个统计字符数的代码(使用的编译器是code blocks 20.03):
#include <stdio.h>
int main()
{
int count = 0 ;
printf("请输入英文字符:");
while ( getchar() != '\n')
{
count = count + 1;//这个算式不是用来计数的吗?为什么中文会计对应两个字符?
}
printf("你总共输入了%d个字符", count);
return 0;
}
本来我理解 count = count + 1 这个表达式是用来统计字符的输入次数。
但是我在试着输入中文的时候,程序统计中文是2个字符,结果如下图:
所以,我想重新了解一下这个程序是怎么统计字符的?能否对代码的每一个作用部位有一个详细解释?谢谢
按结果推导,输入一个中文的时候是计了两次数,这为什么?为什么程序会计两次输入?