Determine the output of the following program.
#include <stdio.h> #include <string.h> struct record { char name[20]; int id; float price; }; void editrecord( struct record * ); void editrecord( struct record *goods ) { strcpy( goods->name, "Baked Beans" ); goods->id = 220; (*goods).price = 2.20; printf("Name = %s\n", goods->name ); printf("ID = %d\n", goods->id); printf("Price = %.2f\n", goods->price ); } main() { struct record item; strcpy( item.name, "Red Plum Jam"); editrecord( &item ); item.price = 2.75; printf("Name = %s\n", item.name ); printf("ID = %d\n", item.id); printf("Price = %.2f\n", item.price ); }
1. Before call to editrecord()
item.name = "Red Plum Jam" item.id = 0 item.price = 0.0
2. After return from editrecord()
item.name = "Baked Beans" item.id = 220 item.price = 2.20
3. The final values of values, item.name, item.id, item.price
item.name = "Baked Beans" item.id = 220 item.price = 2.75