黑龍 发表于 2015-11-15 18:25:36

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/* 紫玫冰心 */
int main(void)
{
        char a;
        inti = 0;
        scanf("%s",a);
        printf("输入字符个数:%d\n",strlen(a));
        system("pause");
        return 0;
}

楼主 这个代码应该是你想要的效果VS2012编译通过

0xcc 发表于 2015-11-15 18:44:06

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

用数组也可以,用数组的话最好用gets(),因为用scanf()遇到空格就认为读入字符串结束了~
#include <stdio.h>
int main()
{
        char a = { 0 };
        int i = 0;
        gets(a);
        for (int j = 0; j<100; j++)
                if (a != '\0')
                        i++;
        printf("%d\n", i);
}

一条迷茫小鱼 发表于 2015-11-16 09:14:51

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

char a={0};这个是什么意思啊!

0xcc 发表于 2015-11-16 09:41:19

这个是对数组初始化,每个元素都初始化成空字符'\0',因为'\0'的ascii码是0,所以可以这么进行初始化。比较规范的写法是char a={'\0'},或者,要用0的话,指明是signed或者unsigned。这段代码逻辑简单,所以这样初始化不会引起bug,手懒了,嘿嘿~

一条迷茫小鱼 发表于 2015-11-17 12:38:06

0xcc 发表于 2015-11-16 09:41
这个是对数组初始化,每个元素都初始化成空字符'\0',因为'\0'的ascii码是0,所以可以这么进行初始化。比较 ...

谢谢你,大神。

0xcc 发表于 2015-11-17 18:35:47

呃呃,不用啦,我不是大神,只是只小菜鸟~~大家一起交流嘛~{:9_240:}
页: 1 [2]
查看完整版本: 一个小问题,新手求助