Homework Assignment 0 CS 340d Unique Number: 50960 Spring, 2019 Given: January 23, 2019 Due: January 30, 2019 This assignment is a warm-up exercise. We will be using C for various programming assignments. For those of you who have not used C, this assignment will give you a chance to familiarize yourself with the language. This assignment has two parts. Part A: Write a program that prints all of the arguments given to the ``main'' procedure of a C program. The procedure ``main'' is the first user-visible code that is run when the compiled result of C program is executed. When your program exits, the status code should return -1 if there was an error, otherwise it should return the value of the ``main'' formal parameter ``argc''. Output for the environment variables should be handled as follows: Print the length of the value of each environment variable in a five character field, followed by the environment variable name and its value. For example, for the environment variable ``TERM'', you might see: 14 TERM xterm-256color Part B: What does the following code do? int has_what_property( unsigned long int x ) { return ((x - 0x101010101010101) & (~x) & 0x8080808080808080) != 0; } Write an alternative specification, as a C-language definition that makes it clear what this code does. How could you confirm that the function has_what_property() meets your specification?