鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖

一个小问题,新手求助

[复制链接]
发表于 2015-11-15 18:25:36 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>

  4. /* 紫玫冰心 */
  5. int main(void)
  6. {
  7.         char a[200];
  8.         int  i = 0;
  9.         scanf("%s",a);
  10.         printf("输入字符个数:%d\n",strlen(a));
  11.         system("pause");
  12.         return 0;
  13. }
复制代码


楼主 这个代码应该是你想要的效果  VS2012编译通过
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-11-15 18:44:06 | 显示全部楼层
一条迷茫小鱼 发表于 2015-11-15 16:48
嗯。原来我是没想到要一直通过一个个字符判断,只是想着一串字符来判断。顺便请教一下,那用数组存放数据 ...

用数组也可以,用数组的话最好用gets(),因为用scanf()遇到空格就认为读入字符串结束了~
#include <stdio.h>
int main()
{
        char a[100] = { 0 };
        int i = 0;
        gets(a);
        for (int j = 0; j<100; j++)
                if (a[j] != '\0')
                        i++;
        printf("%d\n", i);
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-16 09:14:51 | 显示全部楼层
0xcc 发表于 2015-11-15 18:44
用数组也可以,用数组的话最好用gets(),因为用scanf()遇到空格就认为读入字符串结束了~
#include
int ...

char a[100]={0};这个是什么意思啊!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-16 09:41:19 | 显示全部楼层
这个是对数组初始化,每个元素都初始化成空字符'\0',因为'\0'的ascii码是0,所以可以这么进行初始化。比较规范的写法是char a[100]={'\0'},或者,要用0的话,指明是signed或者unsigned。这段代码逻辑简单,所以这样初始化不会引起bug,手懒了,嘿嘿~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-17 12:38:06 | 显示全部楼层
0xcc 发表于 2015-11-16 09:41
这个是对数组初始化,每个元素都初始化成空字符'\0',因为'\0'的ascii码是0,所以可以这么进行初始化。比较 ...

谢谢你,大神。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-17 18:35:47 | 显示全部楼层
呃呃,不用啦,我不是大神,只是只小菜鸟~~大家一起交流嘛~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 21:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表