编译错误CECECE???????
  • 板块学术版
  • 楼主刘芝麻
  • 当前回复8
  • 已保存回复8
  • 发布时间2020/7/18 00:24
  • 上次更新2023/11/6 22:55:09
查看原帖
编译错误CECECE???????
208269
刘芝麻楼主2020/7/18 00:24

我用dev c++编译正确,交到自己的做题网站显示错误,交到洛谷的在线IDE也显示错误(编译错误)?????求大佬帮忙

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char s[10000],ss[10000],sum[10000][200];
int i,ans,t;
bool pd(char s1[10000])
{
	int ii=0;
	for (ii=1;ii<=ans;ii++)
		if (strcmp(sum[ii],s1)!=0) return true;
	if (ans==0) return true;
	return false;
}
int main()
{
	t=-1;
	gets(s);
	strlwr(s);
	for (i=0;i<strlen(s);i++)
if ((s[i]<'a'||s[i]>'z')&&s[i]!=' ') 
        {
        printf("NO");
        return 0;
        }
		else 
        if (s[i]==' '&&t!=-1) 
        {
        if (pd(ss)) 	
        ans++,
        strcpy(sum[ans],ss);
        t=-1;memset(ss,0,sizeof(ss));
        } 
		else {t++;ss[t]=s[i];}
	printf("%d",ans);
return 0;
}

洛谷报错:

/tmp/tmpd5hne9yi/src: 在函数‘int main()’中:
/tmp/tmpd5hne9yi/src:18:2: 错误:‘gets’在此作用域中尚未声明
  gets(s);
  ^~~~
/tmp/tmpd5hne9yi/src:18:2: 附注:suggested alternative: ‘fgets’
  gets(s);
  ^~~~
  fgets
/tmp/tmpd5hne9yi/src:19:2: 错误:‘strlwr’在此作用域中尚未声明
  strlwr(s);
  ^~~~~~
/tmp/tmpd5hne9yi/src:19:2: 附注:suggested alternative: ‘strstr’
  strlwr(s);
  ^~~~~~
  strstr
/tmp/tmpd5hne9yi/src:20:12: 警告:comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  for (i=0;i<strlen(s);i++)
           ~^~~~~~~~~~

另一个网站报错:

Main.cc: In function ‘int main()’:
Main.cc:18:2: warning: ‘char* gets(char*)’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
  gets(s);
  ^
Main.cc:18:8: warning: ‘char* gets(char*)’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
  gets(s);
        ^
Main.cc:19:10: error: ‘strlwr’ was not declared in this scope
  strlwr(s);
          ^
Main.cc:20:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (i=0;i<strlen(s);i++)

另一个网站辅助解释:

gets(char *)'已弃用(在/usr/include/stdio.h:638声明)[-Wdeprecated-declarations] gets(s); ^ Main.cc:18:8:警告:不推荐使用'char * gets(char *)'(在/usr/include/stdio.h:638声明)[-Wdeprecated-declarations] gets(s); ^ Main.cc:19:10:错误:未在此范围内声明'strlwr':gets函数没有声明过就进行调用,检查下是否导入了stdio.h或cstdio头文件
未在以下范围内声明strlwr':字符串类函数没有声明过就进行调用,检查下是否引入了string.h或cstring头文件

求助啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

2020/7/18 00:24
加载中...