你在想什么-ya 发表于 2020-5-22 07:40:18

新人学C编程,求大家援助!

有哪位好心人可以帮我解释一下这个程序是干什么的吗?
可以详细解读一下每一条语句的作用吗?谢谢大家!!


#include<stdio.h>
void main()
{
        char str[]="a7234.405",*p;
        int s=0;
        for(p=str;*p!='\0';p++)
                if(*p>='0'&&*p<='9')
                        s+=*p-0x30;
                printf("s=%d\n",s);
}


输出结果是25

永恒的蓝色梦想 发表于 2020-5-22 08:13:51

本帖最后由 永恒的蓝色梦想 于 2020-5-22 08:15 编辑

把字符串中的数字拉出来求和。

还有,这个程序建议写成这样#include<stdio.h>
int main()
{
    char str[] = "a7234.405", * p;
    int s = 0;
    for (p = str; *p != '\0'; p++) {
      if (*p >= '0' && *p <= '9') {
            s += *p - 0x30;
      }
    }
    printf("s=%d\n", s);
    return 0;
}

你在想什么-ya 发表于 2020-5-22 08:39:19

永恒的蓝色梦想 发表于 2020-5-22 08:13
把字符串中的数字拉出来求和。

还有,这个程序建议写成这样

谢谢帮助!能再帮帮忙看看这个程序吗,{:5_108:}
int i;
        char aa[]={'a','b','c','d','e','f'};
        char (*p)=aa;
        for(i=0;i<2;i++)
                if(i==0) aa=**(p++);    //这里看不懂
        printf("%c\n",**p);

谢谢大佬!!

永恒的蓝色梦想 发表于 2020-5-22 08:41:50

你在想什么-ya 发表于 2020-5-22 08:39
谢谢帮助!能再帮帮忙看看这个程序吗,
int i;
        char aa[]={'a','b','c','d','e','f'};


拿代码格式发。

你在想什么-ya 发表于 2020-5-22 09:29:09

永恒的蓝色梦想 发表于 2020-5-22 08:41
拿代码格式发。

#include<stdio.h>
void main()
{
int i;
char aa[]={'a','b','c','d','e','f'};
char (*p)=aa;
for(i=0;i<2;i++)
if(i==0) aa=**(p++);
   printf("%c\n",**p);
}

永恒的蓝色梦想 发表于 2020-5-22 09:30:50

你在想什么-ya 发表于 2020-5-22 09:29
#include
void main()
{


如果说代码原来就是这样的话,那么这段代码就是错的。
拿代码格式发。
页: [1]
查看完整版本: 新人学C编程,求大家援助!