subject

You are given a file named hw02q3.c. All instructions are given in the form of comments in the file. You are to again run the file in both GCC and Visual Studio (2017 or 2015 version). Observe the outputs and make changes as asked.

#include
#pragma warning(disable : 4996) // needed in VS

// CSE 240 Fall 2018 Homework 2 Question 3 (25 points)
// Note: You may notice some warnings when you compile in GCC or VS, that is okay.

#define positive_1(x) ((x > 0) ? x : 0)

#define polynomial_2(a, b) (a*a + 2*a + 4*a*b - b*b)

int function_1(int a, int b) {
return (a*a + 2*a + 4*a*b - b*b);
}

// Part 1:
// We want to pass the value of 11 to positive_1 and expect the result of positive_1 to be 11, why is the result 12? Correct the error (5 points)
void part1(int x) {

int result;

result = positive_1(++x);

printf("positive_1(11) = %d \n\n", result);

// Why did this error occur? Please provide the answer in your own words below:
printf("Explanation: \n\n\n"); // (2.5 points)
}

// Part 2:
// We want to pass incremented values of x and y to the macro and function to compare their outputs in VS and GCC.
// Correct the program so that function_1 and polynomial_2 produce same correct output of 371. // (5 points)
// Run this program in Visual Studio(VS) and then again in GCC. Note the output values for function_1 and polynomial_2.
void part2(int x, int y) {
int x_copy = x, y_copy = y;

printf("function_1(x, y) = %d \n polynomial_2(x, y) = %d \n\n", function_1(++x, ++y), polynomial_2(++x_copy, ++y_copy));

// Replace the 4 blank spaces below with the actual output observed when running the code in VS and GCC.
printf("In VS : the result of function_1 = __ and polynomial_2 = __ \n"); // (5 points)
printf("In GCC: the result of function_1 = __ and polynomial_2 = __ \n\n"); // (5 points)

// Explain in a short sentence why VS and GCC could possibly produce a different value for the same program and for the same input.
printf("Explanation: \n\n"); // (2.5 points)
}

// Do not edit main()
int main()
{
int x = 10, y = 5;

printf("Part 1:\n\n");
part1(x);
printf("Part 2:\n\n");
part2(x, y);

return 0;
}

ansver
Answers: 1

Another question on Computers and Technology

question
Computers and Technology, 21.06.2019 13:30
The source manager dialog box allows you to create sources, copy sources created and used in all the documents, modify sources an add bibliographic information to placeholders. true or false
Answers: 2
question
Computers and Technology, 23.06.2019 00:00
How do we use the sumif formula (when dealing with different formats) ?
Answers: 1
question
Computers and Technology, 23.06.2019 14:30
Choose the answers that best complete each sentence. on average,are more expensive than other kinds of postsecondary schools. the cost of room and board includes. to save money, some students attend auniversity in their home state.
Answers: 2
question
Computers and Technology, 23.06.2019 18:00
Apunishment or the threat of punishment used to enforce conformity. select the best answer from the choices provided t f
Answers: 1
You know the right answer?
You are given a file named hw02q3.c. All instructions are given in the form of comments in the file....
Questions
question
Mathematics, 15.12.2020 21:00
question
Mathematics, 15.12.2020 21:00
question
Physics, 15.12.2020 21:00
question
Biology, 15.12.2020 21:00
Questions on the website: 13722363