char cycleno[10]    = "1234567890";

if (strlen(cycleno) > sizeof(cycleno)) {        
        printf("strlen(cycleno) %d\n",strlen(cycleno));
        printf("sizeof(cycleno) %d\n",sizeof(cycleno));
        printf("cycleno %s\n",cycleno);
}

/********* 出力 *********/
strlen(cycleno) 16
sizeof(cycleno) 10
cycleno 1234567890慎


質問です。
上記の様に、strlen()で末尾にNULL文字の無い文字列を調べた時
訳分からん値が返ってくる件についてなんすが
これってNULL文字が検出されるまで
メモリ内の無関係な隣りの領域まで読み込んでるって解釈でよいのですか
また、%s出力に関しても同義ですか

あと、上記の解釈で正しいとすれば、仮にNULL文字がたまたまずっと
検出されなかったとすると、永久に読み込みが走るのですか