1

我想添加一个字符串的 ascii 值,比如“hello”。在c中做到这一点的最佳方法是什么?有没有不循环字符串的方法?

4

2 回答 2

3

当然,您可以不循环执行此操作:

#include <stdio.h>

int sum(const char *s) { return *s == 0 ? 0 : *s + sum(s + 1); }

int main()
{
    printf("%d\n", sum("hello"));
    return 0;
}
于 2012-12-20T16:58:51.840 回答
1

没有循环就没有办法做到这一点,除非你在编译时知道字符串的长度。

char *str = "hello";
int total = 0;

while(*str) { total += *str++; }
于 2012-12-20T16:58:00.557 回答