好的,我正在阅读C for dummies,我又遇到了scanf
问题。我早些时候写了另一个问题类似的问题,但修复在这里不起作用。每次我编译时,gcc 总是说:
MADLIB1.C:在函数“int main()”中:
MADLIB1.C:19:27:警告:格式“%s”需要“char*”类型的参数,但参数 2 的类型为“char ( )[20]” [-Wformat]
MADLIB1.C:21:22:警告:格式“%s”需要“char ”类型的参数,但参数 2 的类型为“char ( )[20]”[-Wformat]
MADLIB1.C:23: 23:警告:格式“%s”需要“char ”类型的参数,但参数 2 的类型为“char ( )[20]”[-Wformat]
MADLIB1.C:25:27:警告:格式“%s”需要'char ' 类型的参数,但参数 2 的类型为 'char (*)[20]' [-Wformat]
MADLIB1.C:31:52: 错误:输入结束时预期为 '}'
这是我的代码:
/*
MADLIBI.C Source Code
Written by Arshad Husain
*/
#include <stdio.h>
int main()
{
char adjective[20];
char food[20];
char chore[20];
char furniture[20];
/* Get the words to use in the madlib */
printf("Enter an adjective"); /* prompt */
scanf("%s",&adjective);
printf("Enter a food");
scanf("%s",&food);
printf("Enter a household chore (past tense):");
scanf("%s",&chore);
printf("Enter an item of furniture");
scanf("%s",&furniture);
/* Display the output */
printf("\n\nDon't touch that %s %s!\n", adjective, food);
printf("I just %s the %s!\n", chore, furniture);
return(0);
}