Cstudent さんが書きました:みけCATさんのして下さったた未定義動作は、どう修正したらいいのですか?
未定義動作にならないようにするには、どう修正したらよいかですね。
まずは、配列の要素だけを参照すればよいということです。
char ss[20]; と、20個の char の要素を確保したら、
ss[0], ss[1], ... ss[19] の 20個の要素しか参照できないので、
ss[20] のように範囲外の要素を参照してはいけないということです。
次に、変数は初期化や代入などにより値を格納してから、
その値を参照するということです。
ss[20] を ss[n] や ss[0] に変更しても、そこにはどんな値が
入っているかわからなので、使ってはいけないということです。
結局、char ss[20]; そのものを使用しないように修正すればよいと思います。
関数 func の仕様(どのように動けばよいのか)を明確にしてください。
また、関数 func を呼び出すプログラムを提示してください。
それは、おそらく main 関数でしょうが、とにかく、それがないと
デバッグもできないと思います。