[C言語] 02 数値のコピー

変数への数値のコピーは等式による代入で可能です。

sscanfによる読み込みにおいて3番目の引数は格納先のポインタであり、数値の場合は変数名に&を付け(&horseID)、文字列の場合は変数名(horse_name)そのままとなります。

正確には&horse_name[0]ですが、horse_nameは同じ内容とのことです。また&horse_nameとしてもエラーにはなりません。

<過去コードの該当箇所>

int horseID;
int id;
char horse_name[50];

while(fgets(buf,100, fp ) != NULL ) {
    sscanf(buf, "%d, %s",&horseID,horse_name) ; // &horse_nameでも可

    if (i != 0){
        if (strcmp(horse_name,horse_name_in)==0){
            id = horseID; // 数値のコピー
            printf("コピー完了 %d %s\n",id,horse_name);
            break;
        }
    }
    i ++ ;
}