これを行うことにより、任意の条件に基づいて文字列を早期に終了しようとしています。
void end_string_early(char string[], int len) {
int i;
char j;
for (i=0;i<len;i++) {
j = string[i];
if (arbitrary_condition(j)) {
string[i] = "a";
}
}
}
コンパイルエラーが発生します:
警告:代入はキャストなしでポインタから整数になります
私を混乱させるのは、int配列でまったく同じことを行うと(値をaではなく別のintに変更する)、完全に機能することです。おそらくそれは議論がどのように渡されているかということですか?(私はすべての配列がrefによって渡されたという印象を受けましたが)完全にはわかりません。これがCでの最初の試みです(K&Rの本を読んでいます)。