なし整数からポインタになりますので、ここでのコードです:私はここで何をしようとしているは「FUNCTION_NAME」の引数1を渡すと、キャスト
#include <stdio.h>
#include <stdlib.h>
void draw(int length, char brush);
int stringLength(char name[]);
void drawName(char nameLetter[], char brush);
int length;
char brush, name;
char *a = "Anne", *b = "Bart", *c = "Celine", *d = "Darius";
int main(void) {
printf("Write down the length of line.\n");
scanf("%d", &length);
printf("Give first letter of the name (a, b, c albo d)\n");
scanf(" %c", &name);
printf("Pick character to be used as brush.\n");
scanf(" %c", &brush);
drawName(name, brush);
return 0;
}
void draw(int length, char brush) {
int i;
for (i = 0; i < length; i++) {
printf("%c", brush);
}
}
int stringLength(char name[]) {
int i;
while (name[i] != '\0') {
i++;
}
return i;
}
void drawName(char nameLetter[], char brush) {
draw(stringLength(nameLetter), brush);
printf("%s\n", nameLetter);
draw(stringLength(nameLetter), brush);
}
、文字列の長さを取得し、この値を使用することです文字があるので、行内に多くの文字を印刷する責任を負う別の関数のパラメータです。しかし、私は19行目でエラーが発生します。( 'drawName'の引き数1を渡すと、キャストなしの整数からポインタが作成されます)。私はstackoverflow上のここにあるすべての質問をここで読みましたが、 。私はあなたの助けにたくさん感謝します!私はここで死んで終わりだあなたはタイプchar
の引数でそれを呼び出している間に...
'drawName'は' char * 'をパラメータとして( 'char []'から)崩壊します。あなたのコードは明らかに単一の 'char'パラメータを渡しています。これについて何が分からないのですか? –
'stringLength()'で 'i'を初期化できません。 –