独自のバージョンの strcat を作成しようとしています (「追加」と呼びます)。ここに私が持っているものがあります:
#include <stdio.h>
int main() {
char *start = "start";
char *add = "add";
append(start, add);
printf(start);
}
void append(char *start, char *add) {
//get to end of start word
char *temp = &start;
while (*temp != '\0') {
temp++;
}
*temp = *add;
while (*temp != '\0') {
*temp = *add;
}
}
コンパイルすると、3 つの警告とエラーが表示されます。
1) 警告: 関数 'append' の暗黙の宣言は C99 では無効です
2) 警告: フォーマット文字列は文字列リテラルではありません (安全でない可能性があります)
3) エラー: 'append' のタイプが競合しています
メイン内の追加関数に渡す引数が、その下の関数定義とどのように競合するかわかりません。
4) 警告: 型 'char **' の式で 'char *' を初期化する互換性のないポインター型。削除する &
なぜここを削除したいの&
ですか?char
適切なメモリアドレスへのポインタを一度に宣言して初期化できると思いました。
どんな助けでも大歓迎です。