|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <string.h>
- #define LENGTH 21
- int main()
- {
- char s[LENGTH];
- int i = 0, j, space = 0;
- // unsigned int k;
- printf("请输入一行文本:");
- while ((s[i++] = getchar()) != '\n')
- {
- ;
- }
- getchar();
- for (i = 0;i < strlen(s);i++)
- {
- if (s[i] == ' ') //判断是否有空格,\n是换行符
- {
- space = 1;
- j = i;
- }
- }
- printf("输入字符串长度是:%d\n",strlen(s));
- return 0;
-
- }
复制代码
求教为什么strlen()求出的字符串长度是9,输入的是6
- #include <stdio.h>
- #include <string.h>
- #define LENGTH 21
- int main()
- {
- char s[LENGTH];
- int i = 0, j, space = 0;
- // unsigned int k;
- printf("请输入一行文本:");
- while ((s[i++] = getchar()) != '\n')
- {
- ;
- }
- //getchar();
- s[i-1]='\0'; //////////////////////////////
- for (i = 0;i < strlen(s);i++)
- {
- if (s[i] == ' ') //判断是否有空格,\n是换行符
- {
- space = 1;
- j = i;
- }
- }
- printf("输入字符串长度是:%d\n",strlen(s));
- return 0;
-
- }
复制代码
|
-
为什么计算出的字符串长度和输入的不匹配
|