前提・実現したいこと
文字配列a,bの先頭アドレスを受け取り、2つの文字数の合計を返却値で返す関数を作成したいです。「関数内では、ポインタのインクリメントを繰り返す方法を用い、構造体、添え字[]は用いない」という条件が付いています。
発生している問題・エラーメッセージ
1>C:\Users\fit-user\Desktop\test\test.c(4,8): warning C4013: 関数 'strcat' は定義されていません。int 型の値を返す外部関数と見なします。 1>C:\Users\fit-user\Desktop\test\test.c(13,9): warning C4477: 'printf' : 書式文字列 '%s' には、型 'char *' の引数が必要ですが、可変個引数 1 は型 'int (__cdecl *)(char *,char *)' です 1>C:\Users\fit-user\Desktop\test\test.c(11,1): warning C4047: '初期化中': 間接参照のレベルが 'char' と 'char [6]' で異なっています。 1>C:\Users\fit-user\Desktop\test\test.c(12,1): warning C4047: '初期化中': 間接参照のレベルが 'char' と 'char [4]' で異なっています。
該当のソースコード
c+
1int count(char *a,char *b) { 2 int i, count = 0; 3 strcat(a, b); 4 for (i = 0; a = "\0"; i++) { 5 count++; 6 } 7 return(count); 8} 9int main(void) { 10 char x = { "hello" }; 11 char y = { "usa" }; 12 printf("mojisuu=%s", count); 13 return(0); 14}
試したこと
参考書などを見直したのですがやり方がよくわからなかったです。
補足情報(FW/ツールのバージョンなど)
大学でc言語について学習しています。最近始めたばかりでわからないところが多々あります。今後のためにもどこが間違っていてどうしたら改善できるのか教えていただけると嬉しいです。間違っていた部分を重点的に復習していきます。
ちなみに使っているのは、visualstdio2019です。
回答2件
あなたの回答
tips
プレビュー