【发布时间】:2015-01-31 03:19:12
【问题描述】:
在下面的代码中,我的第一个输出返回了我的第二个字符串和我的第三个字符串。
#include <stdio.h>
int bandNumber;
char colorOne[];
char colorTwo[];
char colorThree[];
int main(void) {
printf("How many bands??\n");
scanf("%d",&bandNumber);
if(bandNumber == 3) {
printf("\n\nEnter your first band color: ");
scanf("%s",colorOne);
printf("\n\nEnter your second band color: ");
scanf("%s",colorTwo);
printf("\n\nEnter your third band color: ");
scanf("%s",colorThree);
printf("\n\nBand One: %s",colorOne);
printf("\n\nBand Two: %s",colorTwo);
printf("\n\nBand Three: %s\n\n",colorThree);
}
}
谁能解释这些错误以及我可以做些什么来纠正它们?
【问题讨论】:
-
char colorOne[];。你确定你的代码编译没有错误吗? -
编译器显示警告。有什么更好的方法来声明一个没有限制的字符串?
-
代码不能“无限制地声明一个字符串”。代码可以声明一个指向
char的指针。