Operations on arrays, The comparison of two distinct arrays with the same content results in FALSE. The behavior of comparison is explained when we note that the comparison is a comparison of ddresses, not contents.

[sourcecode language=’cpp’]
/*******************************************************
* MYCPLUS Sample Code – http://www.mycplus.com *
* *
* This code is made available as a service to our *
* visitors and is provided strictly for the *
* purpose of illustration. *
* *
* Please direct all inquiries to saqib at mycplus.com *
*******************************************************/

#include

int main(void) {
int a[2] = {1,2}; /* The aggregates like {1,2} are literals for arrays */
int b[2] = {2,3};
int i;

/* It is legal to use subscripts on arrays, both on the left and on
* the right hand side of assignments. */
for(i=0;i<2;i++) a[i]=b[i]; /* It is not legal to assign arrays, like in a=b; */ /* The comparison of two distinct arrays with the same content * results in FALSE. So below we print "They are not equal" */ if(a==b) printf("They are equal\n"); else printf("They are not equal\n"); /* The following comparison results in TRUE. */ if(a==a) printf("Of course a is equal to a\n"); else printf("No, a is not equal to a\n"); /* The behavior of comparison is explained when we note that the * comparison is a comparison of addresses, not contents. */ /* We cannot print out an array as a single unit. We have to print out * its elements one at a time. */ for(i=0;i<2;i++) printf("a[%1d] = %3d\n", i, a[i]); }[/sourcecode]

0 Shares
Share
+1
Tweet
Share
Stumble