作业帮 > 综合 > 作业

void func(char *s) { int sum = 0; while(*s) sum += (*s++ - 9

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 00:30:35
void func(char *s) { int sum = 0; while(*s) sum += (*s++ - 96); printf("%d",sum); } int main() { ch
void func(char *s) {
int sum = 0;
while(*s)
sum += (*s++ - 96);
printf("%d",sum);
}
int main() {
char s[27];
scanf("%s",s);
func(s);
}
我想问一下这段程序中每一句都是什么意思,
//函数定义
void func(char *s) {//传入一个字符指针参数
int sum = 0; //用来存储总和的变量
\x05while(*s)//判断指针s地址中所对应的值是否已经到达结尾,如果己到达结尾则继续
\x05sum += (*s++ - 96);
\x05//等价于sum = sum+(*s-96); *s++,注意由于是后加,所以先获取s的值,再进行自加.因此++操作会在下一次循环生效,直到循环结束.这里加加并不是对值加1,而是对地址加1.
\x05printf("%d",sum);
}
int main() {
char s[27];// 定义一个字符数组
scanf("%s",s);//输入字符数组
func(s);//调用函数
}