printfは出力ストリームに出力された文字を返すので、なぜそれがcの変数の長さを見つけるのに使わないのでしょうか?変数の長さを見つけるのに1つのライナー
コードはこのような何かを行く、
#include<stdio.h>
int main()
{
char *a="Length";
int i=1000;
printf("Size: %d\n",printf("%d\n",i)-1);
printf("String Size: %d",printf("%s\n",a)-1);
return 1;
}
は、私は右ですか?私はそれがどこで使われているのか心配していません。私の理解が正しいかどうかを知りたかっただけです。
それは動作しますしかし、それは非効率的であり、 stdoutに偽の出力を生成します。 –
変数の値の印刷表現の長さを返します。また、printfには副作用があります:それは物事を印刷します:)それで、長さを計算するために、側の効果がない関数ほどきれいではありません。 – lkuty
@ルドヴィッチキュート:同意。しかし、私はそれが長さを見つける必要がある変数を印刷する関数を持っていると言うことができます。私は上のスニペットで行っている変数とその長さを表示します。だからこの場合、きれいなコードを書くことはまだ問題になっていますか? – Ajai