Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
誰かがこれの間違いを指摘できますか
#include <stdio.h> void modify (char*s,int x,int y) { s[x]=s[y]; } main() { char* s = "random"; modify(s,1,2); }
プログラムは突然終了します。これは非常に簡単な質問かもしれませんが、私はcが初めてです。ありがとう !
での割り当て中にクラッシュするためmodifyです。その理由は、ポインターが変更できない定数文字列を指しているためです。
modify
文字列を変更したい場合は、代わりに配列として宣言できます。
char s[] = "random";
それでおしまい。私はかつて同じ問題を抱えていました。次の行を置き換える必要があります。
char *s = "random";
次のもので: