我觉得没有问题的程序出了问题
刚看到一个哥们的帖子
我就想测试下
int a,,b,c;
scanf("%d,%d,%d",&a,&b,&c);后是否可以将a,b,c用来初始化array这个数组
但是测试的时候碰到问题,大家帮忙看看这个代码问题出在哪?
还有就是我测试的那个问题,是否可以用来初始化array这个数组?
#include <stdio.h>
int main()
{
int a,b,c;
int i = 0;
scanf("%d,%d,%d",&a,&b,&c);
int array[3]={1,1,1};//报错地方 : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
for(i = 0;i<3;i++)
{
printf("%d",array[i]);
}
system("pause");
return 0;
}
输出:1>h:\c_language\test001\test001\test001\test001_main.c(9) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>h:\c_language\test001\test001\test001\test001_main.c(12) : error C2065: “array”: 未声明的标识符
1>h:\c_language\test001\test001\test001\test001_main.c(12) : error C2109: 下标要求数组或指针类型
1>h:\c_language\test001\test001\test001\test001_main.c(14) : warning C4013: “system”未定义;假设外部返回 int
1>生成日志保存在“file://h:\C_language\test001\test001\test001\Debug\BuildLog.htm”
[解决办法]
刚没仔细.果然.
lz应该是用的不支持c99的编译器,比如 vc6.0?
[解决办法]
在古老的c标准中,要求 定义需要放在其他语句的前面
[解决办法]
惭愧,看了半天也没看出来错在哪里,i的声明问题?
[解决办法]
对赋了两次值, 看不出来 那里错了
[解决办法]
#include <stdio.h>#include <stdlib.h>int main() { int a,b,c,i; int arr[3]; while (1) { printf("\nInput a,b,c:"); fflush(stdout); if (3==scanf("%d,%d,%d",&a,&b,&c)) break; } arr[0]=a; arr[1]=b; arr[2]=c; for (i=0;i<3;i++) { printf("arr[%d]==%d\n",i,arr[i]); } system("pause"); return 0;}