程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c語言-VC6.0中C與C++的不同之處

c語言-VC6.0中C與C++的不同之處

編輯:編程解疑
VC6.0中C與C++的不同之處

今天遇到一個情況,實在想不通。
這段代碼在VC6.0的.c中錯誤提示【error C2143: syntax error : missing ';' before 'type'】。但在.cpp中卻順利通過。求解這是怎麼回事

 #include  <stdio.h>
#include  <stdlib.h>
#define  M  14
void NONO();
void  fun( char (*t)[M], int *a ,int *c)
{
    *a=0;
    *c=0;

    int i,  j;                            //錯誤在這裡

    for(i=0;i<M;i++)
        for(j=0;j<M;j++)
            if(t[i][j]=='A')(*a)++;
            else if(t[i][j]=='C')(*c)++;
}

void  get( char (*s)[M] )
{  int  i, j;
   for( i=0; i<M; i++ )
   {  for( j=0; j<M; j++)
      {  s[i][j]=65+rand()%12; printf( "%c ",s[i][j]); }
      printf("\n");
   }
}

int main()
{  char  a[M][M];
   int   x, y;
   get (a);
   fun ( a, &x,&y );
   printf("A = %d   C = %d\n",x,y);
   return 0;
}

最佳回答:


根據C89標准,c語言局部變量定義必須在其他語句前面,用微軟的編譯器都會這樣(包括VS2010,VS2013.2015沒試)用GCC編譯器則需要指定C99標准:
gcc -std=c99 -o a a.cpp

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved