问题描述
- C语言 指针指向字符串的问题
- 用指针指向字符串的方法 求出字符串中所有数字字符的和,我是初学者对这个很模糊,希望能仔细讲解一哈
解决方案
首先就是判断遍历这个字符串,如果该字符是数字字符,则统计。 判断是否为数字字符: 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 (""%dn"" 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(""=%dn"" sum);return 0;
}
解决方案四:
倒数第一个printf上面的“}”去掉
时间: 2024-10-02 13:01:03