ページ 11

何故、引数にconstがついているのか

Posted: 2022年11月26日(土) 11:06
by kouki2299
はじめまして
ある試験のサンプル問題を解いていたのですが、

char *func_c(char *s1, const char *s2)
{
char *s3 = s1;
for ( ; *s2; s2++ )
*s1++ = *s2;
*s1 = '¥0';
return s3;
}
解答群
ア strcat イ strchr ウ strcmp エ strcpy オ strlen

という問で引数char*s2にconstがついているのはなぜでしょうか?

Re: 何故、引数にconstがついているのか

Posted: 2022年11月26日(土) 18:34
by box
s2の値を変更したら(つまりs2に何かを代入したら)ダメだよ、警告を出すよ
てなくらいの意味です。

Re: 何故、引数にconstがついているのか

Posted: 2022年11月26日(土) 19:11
by みけCAT
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
box さんが書きました:
1年前
s2の値を変更したら(つまりs2に何かを代入したら)ダメだよ、警告を出すよ
てなくらいの意味です。
違います。
この場合、s2「が指しているもの」の値を変更したらダメ、という意味です。
実際、s2++ でs2の値は変更されていますよね。