These are sample questions that are very similar to the ones I will ask on the midterm.
#define max(x, y) ((x) > (y) ? (x) : (y))and here is a function:
int max(int a, int b)In the following code fragment, give the values of a, b, c, d, and e at the end if max is the above macro, and then if max is a function call:
{
return(a > b ? a : b);
}
a = -1;
b = 0;
c = 1;
d = max(++a, b);
e = max(c++, b);
variable | value if max is macro | value if max is a function |
---|---|---|
a | ||
b | ||
c | ||
d | ||
e |
#include <stdio.h>
int main(int argc, char *argv[])
{
int sum = 0;
int i;
for(i = 1; i < argc; i++)
sum += argv[i];
printf("%d\n", sum);
return(0);
}
sum 1 2 3What are the values of argc and the elements of argv? Draw a picture if that would help you indicate what the values are. Please note I want the value of argc, argv, and each element of argv, and so forth, either as a number or character, or as arrows in a picture (for addresses).
int mystery(char a[])
{
register int i;
for(i = 0; a[i]; i++)
if (!isdigit(a[i]))
return(0);
return(1);
}
tr A-Z a-z < /usr/share/dict/words > /tmp/X
grep '^bananna$' /tmp/X > /tmp/Y
wc -l /tmp/Y
char charray[] = "A-DF123";
int n, s = 1;
char *p;
for(n = 0, p = charray; *p; p++){
switch(*p){
case '-':
s = -s;
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
n = n * 10 + (*p - '0');
break;
}
}
n = s * n;
You can also obtain a PDF version of this. | Version of November 30, 2015 at 6:51AM |