这个程序错在什么地方??

来源:百度知道 编辑:UC知道 时间:2024/06/07 10:29:14
我的本意是输入一个数,此书不等于5,也不等于已经定义好的一个数组中的任何一个数,以下是我设计的程序,错在什么地方呢??
#include <iostream.h>
int main()
{
int ok[]={6,66,666};
int a;
cin>>a;
if(a!=5&&a!=ok[]);
cout<<"ko";
else
cout<<"no"<<'\n';
}
谢谢各位指教,我弄明白了,应该去掉分号,
另外ok[]中应给出具体的元素
特别感谢2楼的大哥,但你i++只是代表了元素1
我想你的意思是要我做个循环!

int a;
if(a!=5&&a!=ok[]);
分析你这个程序,首先你要判断的那个数根本就没有输入,你要输入a这个数吧,在就是你IF中的ok[]根本就没有指向数组中的具体数,
你应定义一个数i=0; if(a!=5&&a!=ok[i++]); 这样就可以拿A来比较OK中的每一个数了!
说明下,我根本没学过C++,只是根据C语言的知识来判断的,唉,也不知道指点对没??

if 语句后面不要分号!

这样的话可以
if(a!=5 && (a!=ok[0] && a!=ok[1] && a!=ok[2]))

多了可能就要循环了

能直接a!=ok[]么?

a!=ok[] 这句错误
改成a!=ok[0]&&a!=ok[1]&&a!=ok[2]

if 语句后面不要分号!
a!=ok[] 这句错误
改成a!=ok[0]&&a!=ok[1]&&a!=ok[2]
#include <iostream.h>
int main()
{
int ok[]={6,66,666};
int a;
cin>>a;
if(a!=5&&a!=ok[0]&&a!=ok[1]&&a!=ok[2])
cout<<"ko";
else
cout<<"no"<<'\n';
}
这样就好了