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 02:00
Alocal reaction will occur at the site of the exposure such as irritation or damage to the skin eye or local reaction will occur at the site of the exposure such as irritation or damage to the skin ireland lounges
Answers: 3
question
Computers and Technology, 24.06.2019 01:00
How can the temperature of a room be raised by 5degreesf?
Answers: 1
question
Computers and Technology, 24.06.2019 17:30
Click on the tab on the ribbon to open the backstage view. file view insert review
Answers: 1
question
Computers and Technology, 24.06.2019 17:30
What is the main difference between cloud computing and saas? cloud computing is a platform, and saas is software. cloud computing is software, and saas is a platform. cloud computing is a service, and saas is software. cloud computing is a service, and saas is a platform.
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
Chemistry, 11.11.2019 21:31
question
History, 11.11.2019 21:31
question
Mathematics, 11.11.2019 21:31
Questions on the website: 13722363