vs2010 C语言遇到的问题

c 专栏收录该内容
1 篇文章 0 订阅

因为上机考试指定 vs2010 c 一开始没有认真对待,用的vs2013和codeblocks,但是后来没事用vs2010,发现很多规则都不一样,我吧自己遇到的问题记录下来,仅供参考:

1.

        int a[]={1,2,3};
	for(int i=0;i<3;i++)
	{
		printf("%d",a[i]);
	}

1>e:\c program\try\try\try.c(6): error C2143: syntax error : missing ';' before 'type'
1>e:\c program\try\try\try.c(6): error C2065: 'i' : undeclared identifier
1>e:\c program\try\try\try.c(6): warning C4552: '<' : operator has no effect; expected operator with side-effect
1>e:\c program\try\try\try.c(6): error C2065: 'i' : undeclared identifier
1>e:\c program\try\try\try.c(6): error C2059: syntax error : ')'
1>e:\c program\try\try\try.c(7): error C2143: syntax error : missing ';' before '{'
1>e:\c program\try\try\try.c(8): error C2065: 'i' : undeclared identifier

此时会出现这么多错误,其实我们都知道,如果去其他的新的编译器,这是可以通过的,这就是支持的标准不同。只需要将i的定义提到最前面即可。

        int i;
	for(i=0;i<3;i++)
	{
		printf("%d",a[i]);
	}

2.

        int a[]={1,2,3};
	int i;
	for(i=0;i<3;i++)
	{
		printf("%d",a[i]);
	}
	int sum=0;
	for(i=0;i<3;i++)
	{
		sum+=a[i];
	}
	printf("%d",sum);
	return 0;

1>e:\c program\try\try\try.c(11): error C2143: syntax error : missing ';' before 'type'
1>e:\c program\try\try\try.c(14): error C2065: 'sum' : undeclared identifier
1>e:\c program\try\try\try.c(16): error C2065: 'sum' : undeclared identifier
 

其实这样在其他新版本编译器也是可以通过的。主要就是 int sum=0;这一句出错。只需要将int sum=0 提到最前面。

        int sum=0;
	int a[]={1,2,3};
	int i;
	for(i=0;i<3;i++)
	{
		printf("%d",a[i]);
	}
	for(i=0;i<3;i++)
	{
		sum+=a[i];
	}
	printf("%d",sum);
         return 0;

通过上面两个错误我们可以感觉其实我们平时写的程序,包括c++,是因为支持的规则不一样罢了,但是如果只能是某些指定编译器还是值得大家注意的。我会将自己遇到的错误贴上。

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值