1)#include <iostream.h>
int main()
{
int *a, *savea, i;
savea = a = (int *) malloc(4 * sizeof(int));
for (i=0; i<4; i++) *a++ = 10 * i;
for (i=0; i<4; i++) {
printf("%d\n", *savea);
savea += sizeof(int);
}
return 0;
}
2)#include <iostream.h>
int main()
{
int *a, *savea, i;
savea = a = (int *) malloc(4 * sizeof(int));
for (i=0; i<4; i++) *a++ = 10 * i;
for (i=0; i<4; i++) {
printf("%d\n", *savea);
savea ++;
}
return 0;
}
The output of this two programs will be different why?
Answers were Sorted based on User's Feedback
Answer / uma sankar pradhan
The output differs due to the followinf two statements
savea+=sizeof(int)
and
savea++
savea++
=>savea=savea+1
=>savea=savea+1*(sizeof(int))
savea+=sizeof(int)
=>savea=savea+2
=>savea=savea+2*sizeof(int)
sizeof(int) is called the scalefactor of savea
Is This Answer Correct ? | 5 Yes | 1 No |
Answer / d289
because when incremented by size of int(4), point to invalid
position in the int array. Hence it will print out only one
correct out put for the first element and garbage for the
rest in the first program while for the second program it
will print out the contents of the int array correctly.
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / ips
In 1st Case(savea++)
--------------------
The Integer Pointer Is Incremented just Once.(as it Is
Implimented in c/c++).which means the pointer is shifted
4bytes(size of type 'int') ahead.
In 2nd Case(savea+=sizeof(int))
-------------------------------
Here The Statement implies:-
savea+=4;
The above statement says that,the integer pointer is to
be increamented 4times.means,the Pointer now is shifted 16
bytes(4*sizeof type 'int').which is Out of scope of the
integer array in the Programme.
Is This Answer Correct ? | 3 Yes | 1 No |
Answer / shil chawla
the program will not RUN becoz #include<iostream.h>
does not support "printf()".
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / mahesh
first program prints sum of saved and size of int
second one prints only the contenst of saved
Is This Answer Correct ? | 2 Yes | 3 No |
List the advantages of inheritance.
What do you understand by pure virtual function? Write about its use?
What is exception handling? Does c++ support exception handling?
write a program in c++ to generate imp z y x w v w x y z z y x w x y z z y x y z z y z z
Is there any difference between dlearations int* x and int *x? If so tell me the difference?
what is pulse code modulation?
What is an opaque pointer?
How come you find out if a linked-list is a cycle or not?
Explain the use of vtable.
What is the Difference between "printf" and "sprintf"?
7 Answers iSoft, PentaWare, TCS,
What are files in c++?
What is an adaptor class or Wrapper class?