首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小弟我觉得没有有关问题的程序出了有关问题

2012-06-09 
我觉得没有问题的程序出了问题刚看到一个哥们的帖子我就想测试下int a,,b,c;scanf(%d,%d,%d,&a,&b,&c)

我觉得没有问题的程序出了问题
刚看到一个哥们的帖子
我就想测试下
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>


int main()
{

int a,b,c;
int i = 0;
int array[3]={a,b,c};

scanf("%d,%d,%d",&amp;a,&amp;b,&amp;c);

for(i = 0;i<3;i++)
{
printf("%d",a……

[解决办法]
探讨
现在代码改成这样
发现这样初始化数组是不可以的
#include <stdio.h>


int main()
{

int a,b,c;
int i = 0;
int array[3]={a,b,c};

scanf("%d,%d,%d",&amp;a,&amp;b,&amp;c);

for(i = 0;i<3;i++)
{
printf("%d",a……

[解决办法]
C/C++ code
#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;} 

热点排行