用else会打印You haven't seen...多次,即使输入的数据正确

 

1) 设置一个bool 值  found, 每次循环开始赋值为 faluse; 

这个循环当找到匹配的数据的时候,found = true; 

2)这个 else 语句要放在循环的外面。 写成: 

      if (!found)  printf (" You haven't seen ...); 

 

代码错误出现在截图代码中的第10、11行

该else的状态是一个注释,if在这种状态下没有对应的else,为非法语句

请改为:

else
printf("You haven't seen this movie\n");

另请注意:

 

注释(Comments)可以出现在代码中的任何位置,用来向用户提示或解释代码的含义。程序编译时,会忽略注释,不做任何处理,就好像它不存在一样。

C语言支持单行注释和多行注释:

单行注释以//开头,直到本行末尾(不能换行),

多行注释以/*开头,以*/结尾,注释内容可以有一行或多行。

例如:

#include <stdio.h>
int main()
{
//这是一个单行注释
printf("hello world");
/*这是一个多行注释
这还是上面的那一个多行注释*/
return 0;
}

运行结果为:

hello world

 

谢谢解答,不过我发现下面那句if(!found)要写成if(found)才能在输入错误数据时打印出YOU....