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, 22.06.2019 12:00
Which of the following does 3d animation create an illusion of on the screen? a. depth b. emotion c. length d. dialogue
Answers: 1
question
Computers and Technology, 23.06.2019 14:30
Select the correct answer. peter has launched a website that features baby products. however, clients often find they are unable to access the website because the server is down. which feature of cybersecurity should peter focus on for his website? a. data authenticity b. data privacy c. data availability d. data integrity e. data encryption
Answers: 3
question
Computers and Technology, 23.06.2019 20:10
Leo is a recruitment executive for a large company. he has identified new labor resource requirements in both the marketing and production departments. what should be his first step in recruiting candidates for the positions? a. conduct background checks of candidates b. make job offers c. arrange interviews d. conduct reference checks e. place job ads on job sites
Answers: 1
question
Computers and Technology, 25.06.2019 01:30
Why is the most liked picture on instagram an eggy? owo
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, 21.10.2019 13:20
question
Biology, 21.10.2019 13:20
question
History, 21.10.2019 13:20