8

次の表現がわかりません。

str + n

どこchar str[STRING_LENGTH]int n

私はJavaで多くの作業をしてきましたが、今までは文字列と整数の連結であると想定していましたが、今は疑問です。

どういう意味ですか?

4

3 に答える 3

7

str長さ STRING_LENGTH の文字シーケンスに関連付けられたメモリ アドレスを指していると見なすことができます。そのため、ステートメントではc ポインター演算が悪用されていますstr + n。何をしているのかというと、文字列のn番目の文字のメモリアドレスを指しています。

于 2013-10-09T07:12:44.240 に答える
4

はい、@Yu Hao と @Bathsheba の答えは正しいです。
ただし、連結を行いたい場合は、次のコード スニペットのように移動できます。

char string[]="hello";
int number=4;
char cated_string[SIZE_CATED_STRING];
sprintf(cated_string,"%s%d",string,number);
printf("%s",cated_string);

ハッピーコーディング。

于 2013-10-09T07:50:36.703 に答える