For the following code give the output of the program as well as the value of th
ID: 3744855 • Letter: F
Question
For the following code give the output of the program as well as the value of the variables at the specified locations
#include<stdio.h>
int func7(int a, int *b)
{
int c;
c = a;
a = *b + c;
printf("func7: %d %d %d ",a, *b, c);
return(c);
}
int func7_6(int *a, int b)
{
int c;
c = *a;
*a = b + c;
printf("func7_6: %d %d %d ",*a, b, c);
return(c);
}
int func7_65(int *a, int b)
{
int c;
c = *a;
a = &c;
*a = b + c;
printf("func7_65: %d %d %d ",*a, b, c);
return(c);
}
int main()
{
int *ptr, *a;
int b, c;
int d[10];
b = 10 + 2;
c = 10 + 7;
ptr = &c;
a = &b;
for (b = 0; b < 10; b += 1)
{
d[b] = b + 5;
}
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
b = 4 + 6;
c = 6;
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
for (c = 0; c < 10; c += 2)
{
printf("%d ",d[c]);
d[c + 1] = c / 2 + 11;
}
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
a = &c;
for (c = 0; c < 10; c += 2)
{
printf("%d ",d[c]);
d[c + 1] = c / 2 + 11;
if (c % 4 == 0) { printf(" "); }
}
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
ptr = &d[4];
a = &d[3];
for (*a = 1; *a < 4; *a += 1)
{
ptr[*a] = *a + 1;
printf("%d %d ", *a, ptr[*a]);
}
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
printf("-- %d -- ", *d + 13);
printf("-- %d -- ", ptr[28 % 5] + 13);
func7(d[4], &d[5]);
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
func7_6(&d[4], d[5]);
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
func7_65(&d[4], d[5]);
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
d[7] = func7(d[4], &d[5]);
//*ptr = ____
//*a = ____
//b = ____
//c = ____
//d = ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
char txt[10]
strcpy(txt, "abc");
//txt = ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
strcat(txt, "123");
printf("xyz %s ", txt);
txt[2] = 'x';
txt[1] = 0;
prprintf("efg %s ", txt);
//txt = ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
printf("xyz %s ", txt);
//txt = ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
printf(" ");
return(0);
}
Explanation / Answer
Output
5 7 9 11 13 5
7 9
11 13
1 2
2 3
3 4
--
18
--
--
17
--
func7: 11 2 9 func7_6: 11 2 9
func7_65: 13 2 13 func7: 13 2 11 xyz abc123
efg a
xyz a
Values at each specified locations
#include<stdio.h>
int func7(int a, int *b)
{
int c;
c = a;
a = *b + c;
printf("func7: %d %d %d ",a, *b, c);
return(c);
}
int func7_6(int *a, int b)
{
int c;
c = *a;
*a = b + c;
printf("func7_6: %d %d %d ",*a, b, c);
return(c);
}
int func7_65(int *a, int b)
{
int c;
c = *a;
a = &c;
*a = b + c;
printf("func7_65: %d %d %d ",*a, b, c);
return(c);
}
int main()
{
int *ptr, *a;
int b, c;
int d[10];
b = 10 + 2;
c = 10 + 7;
ptr = &c;
a = &b;
for (b = 0; b < 10; b += 1)
{
d[b] = b + 5;
}
//*ptr = 17
//*a = 10
//b = 10
//c = 17
//d = 5 6 7 8 9 10 11 12 13 14
b = 4 + 6;
c = 6;
//*ptr = 6
//*a = 10
//b = 10
//c = 6
//d = 5 6 7 8 9 10 11 12 13 14
for (c = 0; c < 10; c += 2)
{
printf("%d ",d[c]);
d[c + 1] = c / 2 + 11;
}
//*ptr = 10
//*a = 10
//b = 10
//c = 10
//d = 5 11 7 12 9 13 11 14 13 15
a = &c;
for (c = 0; c < 10; c += 2)
{
printf("%d ",d[c]);
d[c + 1] = c / 2 + 11;
if (c % 4 == 0) { printf(" "); }
}
//*ptr = 10
//*a = 10
//b = 10
//c = 10
//d = 5 11 7 12 9 13 11 14 13 15
ptr = &d[4];
a = &d[3];
for (*a = 1; *a < 4; *a += 1)
{
ptr[*a] = *a + 1;
printf("%d %d ", *a, ptr[*a]);
}
//*ptr = 9
//*a = 4
//b = 10
//c = 10
//d = 5 11 7 4 9 2 3 4 13 15
printf("-- %d -- ", *d + 13);
printf("-- %d -- ", ptr[28 % 5] + 13);
func7(d[4], &d[5]);
//*ptr = 9
//*a = 4
//b = 10
//c = 10
//d = 5 11 7 4 9 2 3 4 13 15
func7_6(&d[4], d[5]);
//*ptr = 11
//*a = 4
//b = 10
//c = 10
//d = 5 11 7 4 11 2 3 4 13 15
func7_65(&d[4], d[5]);
//*ptr = 11
//*a = 4
//b = 10
//c = 10
//d = 5 11 7 4 11 2 3 4 13 15
d[7] = func7(d[4], &d[5]);
//*ptr = 11
//*a = 4
//b = 10
//c = 10
//d = 5 11 7 4 11 2 3 11 13 15
char txt[10]
strcpy(txt, "abc");
//txt = a b c @
strcat(txt, "123");
printf("xyz %s ", txt);
txt[2] = 'x';
txt[1] = 0;
prprintf("efg %s ", txt);
//txt = a x 1 2 3 @
printf("xyz %s ", txt);
//txt = a x 1 2 3 @
printf(" ");
return(0);
}