用指针指向字符串的方法 求出字符串中所有数字字符的和,我是初学者对这个很模糊,希望能仔细讲解一哈
首先就是判断遍历这个字符串,如果该字符是数字字符,则统计。 判断是否为数字字符: ch <=‘0’ && ch>='9' 也可以使用库函数isdigit() 求和的话: num += ch+‘0’
是这样么?也不知道LZ是不是这个意思
#include <cstring>
#include <cstdio>
int main() {
char str[] = "0123456789";
char *str1 = str;
char *ptr = str1;
int sum = 0;
while (*ptr) {
sum += (*ptr - '0');
++ptr;
}
printf ("%d\n", sum);
return 0;
}
#include
#include
int main()
{
char *pstr = "sdfjl12321lsdjfsldfj888sdf";//定义字符串指针并初始化
int len = strlen(pstr);//计算字符串长度
int i = 0, j = 0;
int sum = 0;
for(i = 0; i < len; i++)//遍历指针字符
{
if(isdigit(pstr[i]))//数字字符判断
{
if(j==0)
printf("%c", pstr[i]);
else
printf("+%c", pstr[i]);
sum += (pstr[i]-'0');//计算和
j++;
}
}
printf("=%d\n", sum);
return 0;
}
倒数第一个printf上面的“}”去掉