0

文字列内のAlphaChar文字の数をカウントする次の関数が与えられた場合、そのようなカウント関数を一次ロジックでどのように表すことができますか?
注: AlphaChar は単にunsigned int型です

int alpha_char_strlen (const AlphaChar *str)
{
    const AlphaChar *p;

    for (p = str; *p; p++)
        ;
    return p - str;
}  

前もって感謝します、

4

1 に答える 1

0

strlen次のように定義できます

  • 空の文字列の長さは 0 です。
  • 文字列が次の形式の場合、<string of length n><string of length m>長さは n+m です。

構造に算術があると仮定すると

HasLength(EmptyString,0) ^ \forall x \forall y \forall z \forall k \forall l \forall m
    (HasLength(x,k) ^ HasLenght(y,l) ^ HasLength(z,m) ^ z = xy => m = k + l)
于 2013-06-07T02:25:11.990 に答える