zizaipanhongb 发表于 2018-1-14 11:12:29

c语言

#include<stdio.h>
int main()
{
        int num=0;
        char p[]={0},i;
        *p=&i;
        printf("Please input :");
        scanf("%s",p);
        while(*p!='\0')
        {
                if(('0'<i)&&(i<'9'))
                        num++;
                i++;
        }
        printf("%d",num);
}
我想编写一个关于求输入一行字符串然后求其中数字的个数但是不知道怎么不行,求求大神们,给我看看。

BngThea 发表于 2018-1-14 11:38:08

请问你这句
*p=&a
是怎么考虑的

zizaipanhongb 发表于 2018-1-14 11:46:52

BngThea 发表于 2018-1-14 11:38
请问你这句
*p=&a
是怎么考虑的

我是想把这个指针赋给i

zizaipanhongb 发表于 2018-1-14 11:48:02

BngThea 发表于 2018-1-14 11:38
请问你这句
*p=&a
是怎么考虑的

我若是直接用指针的话,最后的p++会报错,只有换一个了

BngThea 发表于 2018-1-14 11:51:21

zizaipanhongb 发表于 2018-1-14 11:48
我若是直接用指针的话,最后的p++会报错,只有换一个了


为什么用p++,直接用p

要实现你的意图,应该定义一个指针,然后操作

圣狄雅哥 发表于 2018-1-14 11:51:37

要不要我帮你重新写一个

ba21 发表于 2018-1-14 12:02:20

#include<stdio.h>

int main(void)
{
        char str = {'\0'};
        int digitCount = 0;
        char *p;

        p = &str;

        printf("请输入一串字符:");
        scanf("%s", str);


        while(*p != '\0')
        {
                if(*p >= '0' && *p <= '9')
                {
                        digitCount += 1;
                }

                p++;
        }

        printf("其中数字总共有 %d 个\n", digitCount);


        return 0;
}

圣狄雅哥 发表于 2018-1-14 12:15:37

这个就行了

zizaipanhongb 发表于 2018-1-14 14:44:42

圣狄雅哥 发表于 2018-1-14 11:51
要不要我帮你重新写一个

谢谢了,十分感谢

zizaipanhongb 发表于 2018-1-14 14:47:52

ba21 发表于 2018-1-14 12:02


谢谢了,万分感谢
页: [1]
查看完整版本: c语言