関数の戻り値は定数と見なされないため、静的ストレージ型の変数だけが初期化されないことが予想されますか?その引数を使用すると、次の宣言は C で有効ではありません。エラーや警告なしでコンパイルされ、出力されます期待通りです。
#include <stdio.h>
#include <string.h>
int main ()
{
int arr[2]={strcmp("a","a"),strcmp("3","5")};
printf("%d,%d",arr[0],arr[1]);
}
Result
0,-1