Predict the output or error(s) for the following:
C aptitude 1.1
Explanation: p is a pointer to a "constant integer". But we tried to change the value of the "constant integer".
C aptitude 1.2
Explanation: s[i], *(i+s), *(s+i), i[s] are all different ways of expressing the same idea. Generally array name is the base address for that array. Here s is the base address. i is the index number/displacement from the base address. So, indirecting it with * is same as s[i]. i[s] may be surprising. But in the case of C it is same as s[i].
C aptitude 1.3
C aptitude 1.1
void main(){ int const * p=5; printf("%d",++(*p));} |
Explanation: p is a pointer to a "constant integer". But we tried to change the value of the "constant integer".
C aptitude 1.2
main(){ char s[ ]="man"; int i; for(i=0;s[ i ];i++) printf("\n%c%c%c%c",s[ i ],*(s+i),*(i+s),i[s]);} |
Explanation: s[i], *(i+s), *(s+i), i[s] are all different ways of expressing the same idea. Generally array name is the base address for that array. Here s is the base address. i is the index number/displacement from the base address. So, indirecting it with * is same as s[i]. i[s] may be surprising. But in the case of C it is same as s[i].
C aptitude 1.3
main(){ float me = 1.1; double you = 1.1; if(me>=you) printf("I love U"); else printf("I hate U");} |
No comments:
Post a Comment