重複の可能性:
ポインターを使用して C の文字列リテラルを変更しますか?
ここにコードサンプルがあります
void main()
{
char *i="prady"; printf("%c ",++*i);
}
「q」を与えるべきだと思うのに、なぜこのコードがgccでセグメンテーション違反を与えるのか誰か教えてください。それのみを使用しているとき*i++
は結果が得られますが、プレインクリメントのみの場合、セグメンテーション違反が発生します。
また、void main が関数を記述する適切な方法ではない理由を教えてくださいmain()
。