我想添加一个字符串的 ascii 值,比如“hello”。在c中做到这一点的最佳方法是什么?有没有不循环字符串的方法?
问问题
3550 次
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 回答