QUESTION IMAGE
Question
here is a portion of a program. what will it print?
#include <stdio.h>
struct house {
float sqft;
int rooms;
int stories;
char address40;
};
int main(void)
{
struct house fruzt = {1560.0, 6, 1, \22 spiffo road\};
struct house *sign;
sign = &fruzt;
printf(\%d %d\
\, fruzt.rooms, sign->stories);
printf(\%s \
\, fruzt.address);
printf(\%c %c\
\, sign->address3, fruzt.address4);
return 0;
}
Step1: Analyze the struct and variable initialization
The struct house has members sqft (float), rooms (int), stories (int), and address (char array). The variable fruzt is initialized with {1560.0, 6, 1, "22 Spiffo Road"}, so fruzt.rooms = 6 and fruzt.stories = 1. The pointer sign is assigned the address of fruzt, so sign->stories is the same as fruzt.stories.
Step2: Analyze the first printf statement
The first printf is `printf("%d %d
", fruzt.rooms, sign->stories);. Substituting the values, we get 6 1` printed.
Step3: Analyze the second printf statement
The second printf is `printf("%s
", fruzt.address);. The address of fruzt is "22 Spiffo Road", so this prints 22 Spiffo Road `.
Step4: Analyze the third printf statement
The third printf is `printf("%c %c
", sign->address[3], fruzt.address[4]);. The address string is "22 Spiffo Road"`. Let's index the characters:
- Index 0: '2'
- Index 1: '2'
- Index 2: ' '
- Index 3: 'S'
- Index 4: 'p'
So sign->address[3] is 'S' and fruzt.address[4] is 'p', so this prints S p.
Snap & solve any problem in the app
Get step-by-step solutions on Sovi AI
Photo-based solutions with guided steps
Explore more problems and detailed explanations
6 1
22 Spiffo Road
S p