请帮本人看看代码为何报错

C++语言 码拜 9年前 (2016-04-01) 653次浏览
报错提示:left是不明确的符号,为什么?

#include <iostream>
#include <cstdio>
using namespace std;
#define maxn 100
int left,chance;
char s1[maxn],s2[maxn];
int win,lose;
void guess(char ch)
{
int flag=1;
for(int i=0;i<strlen(s1);i++)
  if(s1[i]=ch)
  {left--;s1[i]=" ";flag=0;}
if(flag) --chance;
if(!chance) lose=1;
if(!left) win=1;
}
int main()
{
int rnd;
while(scanf("%d%s%s",&rnd,s1,s2)!=EOF&&rnd!=-1){
printf("Round %d\n",rnd);
win=lose=0;
left=strlen(s1);
chance=7;
for(int i=0;i<strlen(s2);i++){
  guess(s2[i]);
  if(win||lose) break;
}
if(win) printf("You win.\n");
else if(lose) printf("You lose.\n");
else printf("You chickened out.\n");
}
return 0;
}
解决方案

20

改个名字吧,和系统库文件里的全局变量名字重复了
要不就别using namespace std;你也没用里边儿的东西啊,,,,

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请帮本人看看代码为何报错
喜欢 (0)
[1034331897@qq.com]
分享 (0)