#include<iostream>
#include<conio.h>
using namespace std;
int main(){
int num1[5];
int num2[5];
int equal=0;
int i;
cout<<"enter the integers values in num1"<<endl;
for(i=0; i<5; i++){
cin>>num1[i];
}
cout<<"enter the integers values in num2"<<endl;
for(i=0; i<5; i++){
cin>>num2[i];
}
cout<<"the values in first arrays are ";
for(i=0; i<5; i++){
cout<<"\t"<<num1[i];
}
cout<<"the values in second arrays are ";
for(i=0; i<5; i++){
cout<<"\t"<<num2[i];
}
for(i=0; i<5; i++){
if(num1[i]=!num2[i]){
cout<<"both arrays are not equal"<<endl;
}
else{
cout<<"both are equal"<<endl;
}
}
system("pause");
}
我已经制作了一个简单的程序,其中我已经声明了数组num1和num2我实际上正在比较两个数组但是如果语句不起作用,则无论何时语句都正常工作,只要我通过设置不同的值来比较两个数组它应该打印cout&lt;&lt;“两个数组不相等”&lt;声明,但它没有打印出来。
答案 0 :(得分:9)
更改:
if(num1[i]=!num2[i]){
^^
到
if(num1[i]!=num2[i]){
^^
=!
是否定num2[i]
的分配,我怀疑你是否愿意这样做。
此外,您应该在此处收到可疑代码的警告:
prog.cc:27:32: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if(num1[i]=!num2[i]){
答案 1 :(得分:0)
不等于的语法是!=而不是=!。检查一下,我猜程序运行正常。
!=不等于运算符,其中as =!作为反转然后分配。 例如,如果表达式是a =!b,则它被解释为a =(!b),因此它分配而不是比较。
希望这有帮助。
答案 2 :(得分:0)
在我看来,最好完成&#34; FOR&#34;当有不同的数字,你知道数组将是不同的。因此,您节省了处理时间(另外,我认为,代码比以前更简洁,更简单。)
for(i=0; i<5; i++){
if(num1[i]!=num2[i]){
cout<<"both arrays are not equal"<<endl;
return 0;
}
cout<<"both are equal"<<endl;