文字列のASCII値を追加したいのですが、「こんにちは」と言ってください。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 に答える