求解程序原理
本帖最后由 HaibaraA1 于 2021-2-11 17:37 编辑#include<stdio.h>
int main()
{
char str;
char *p=str;
printf("为str输入一个字符串:");
fgets(str,100,stdin);
int count=0;
int i=0;
while(1)
{
if(*(p+i)=='\n')
{
break;
}
count++;
i++;
}
printf("你一共输入了%d个字符!", count);
return 0;
}
在我电脑,中文字符是占3个字节的储存空间的,为什么我输入“中”这个字,或者别的字,运行结果显示输入了两个字符呢? 这取决于编译工具,比如,一个汉字正常是占两个字节位,但是有些语言则认为一个汉字占位1个位 大多数编译器,每个中文字符占两个英文字符空间,下图是 VS2015 输出 “学习编程”,计为8个字符。计为三个英文字符空间的,应该是输入单个汉字的时候,将最后的结束符也计为了一个字符
okok
页:
[1]