C语言 Compile Error

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 1000
int main()
{
char a[M];
int b[M];
char c[11];
int i=0,j,num,t,len = 0,flag = 1;
char *p,*q;
gets(a);
for(i = 0,p = a ; i<=strlen(a) ;p++,i++)
{

if(*p>='0' && *p <= '9')
{
len++;
flag = 1;
}
else if(flag == 1 )
{

strncpy(c,p-len,len);
c[len] = '\0';
num = atoi(c);
if( t < num )
{
t = num;
j = i - len+1;
}
flag = 0;
len = 0;
}
}
printf("%d\n",j);
return 0;
}
是In file included from \\temp\\Main.c:2:
//bin/gcc/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdlib.h:317: error: syntax error before "double"错误

#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 1000
int main()
{  
 char a[M];
 int b[M];//未使用
 char c[11];
 int i=0,j,num,t,len = 0,flag = 1;
 char *p,*q; //q指针未使用
 gets(a);
 for(i = 0,p = a ; i<=strlen(a) ;p++,i++)
 {
  if(*p>='0' && *p <= '9')
  {
   len++;
   flag = 1; 
  }
  else  if(flag == 1 )
  {
   strncpy(c,p-len,len);
   c[len] = '\0';
   num = atoi(c);
   if( t < num )//这一句代码错了,因为t未赋值就去比较了,在编译器要求很高的时候就是错误
   {
    t = num;
    j = i - len+1;
   }
   flag = 0; 
   len = 0; 
  }
 }
 printf("%d\n",j);
 return 0;
}

追问

#include "stdafx.h"这句不对

追答

恩,这句你删除掉

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-02
好像 printf 前面少了一个“}”括号哟~
第2个回答  2015-12-02
将t赋上初值0试试!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网