Memory and Strings M4 Test
-
The second
strtok()
function’s parameter (nameddelim
) is:- a character
- an
int
- a string taken as a whole(
char *
) - a set of characters stored as a string(
char *
)
-
The following declarator declares the compare symbol as:
void (*compar) (int*, int*);
- a void pointer
- a pointer to an array containing
ints
- a pointer to a function returning
void
- a pointer to a function returning an
int
-
To specify any UNICODE characters, the following syntax may be used:
W'x'
L'x'
l'x'
w'x'
-
Passing
NULL
as the fisrtstrtok()
argument causes:- the function to restart the find process
- a runtime error
- the function to iterate through the string
- the function to repeat the last find
-
The value of the following expression:
sizeof(wchar_t) <= sizeof(wint_t)
- depends on the target platform
- cannot be determined
- is always
0
- is always
1
-
What is the expected output of the following code?
#include <string.h> #include <stdio.h> int main(void) { char *p1 = malloc(8), *p2 = p1; printf("%d\n", memcump(p1,p2,8)); return 0; }
- an
int
value equal to0
- an
int
value greater than0
- an
int
value less than0
- the output is unpredictable
- an
-
To find an element with the key filed equal to key through the
arr
, you will use absearch()
function with the following comparator:struct Str { chat key[8]; } arr[10];
int cmp(const void *v1, const void *v2) { return ((Str) v1).key - ((Str) v2).key; }
int cmp(const void *v1, const void *v2) { return ((Str *) v1)->key - ((Str *) v2)->key;}
int cmp(const void *v1, const void *v2) { return strcmp(v1.key, v2.key); }
int cmp(const void *v1, const void *v2) { return strcmp((Str *) v1)->key, ((Str *) v1)->key, ((Str *) v2)->key); }
-
The following
calloc()
invocation allocates:void *p = calloc(10, 1);
- one occurrence of a 10-byte-long block
- a 1-byte-long block aligned to a 10-byte boundary
- ten occurrences of a 1-byte-long block
- a 10-byte-long block aligned to a 1-byte boundary
-
What is the expected output of the following code?
#include <string.h> #include <stdio.h> int main(void) { char p[] = "101"; printf("%1d\n", strchr(p, '1') - strrchr(p, '1')); return 0; }
-2
2
1
0
-
What is the expected output of the following code?
#include <string.h> #include <stdio.h> int main(void) { char p[] = "012345"; memmove(p, p + 1, 2); puts(p); return 0; }
011345
112345
- the output cannot be determined
122345
-
A memory block allocated by the
malloc()
function:- is filled with zeros
- is filled with
0xFF
- is filled with random values
- is filled with
0xdeadbeef
-
What is the expected output of the following code?
#include <stdlib.h> #include <stdio.h> int main(void) { char *p = malloc(1), *q = p; free(q); free(p); printf("%d\n", p != q); return 0; }
1
- the output cannot be determined
- the code will cause a runtime error
0
-
The Unicode code point of the value equal to
32
:- denotes a character depending on the target code page
- denotes the same character as the ASCII character of the same value
- may not be used in a used in a source code
- dose not exist
-
The following code will output
2
when you assign theoff
variable with the value of:#include <stdlib.h> #include <stdio.h> int main(void) { char p[] = "10110110"; int off = <?>; printf("%d\n", strstr(p, p + off) - p); return 0; }
4
7
5
6
-
To store UNICODE code points, the UTF-8 uses:
- the target code page encoding
- a constant number of bits
- a number of bits depending on the target platform’s word length
- a varying number of bits
-
The address of the memory block allocated by the
malloc()
function:- is aligned to a
long long int
data type - is aligned, but the alignment is implementation specific
- is aligned to a
double
data type - is completely random
- is aligned to a
-
What is the expected output of the following code?
#include <stdlib.h> #inclide <stdio,h> int main(void) { char *p = malloc(1), *q = p; free(q); printf("%d\n", p != q); return 0; }
1
- the output cannot be determined
0
- the code will cause a runtime error
-
Which declarator will you use to declare fun as a pointer to a two-parameter function (one
int
and onefloat
) returning the pointer tochar
?char (*fun) (int, float)
char *(fun)(int,float)
char *(*fun)(int,float)
char (fun) (int,float)
-
What is the expected output of the following code?
#include <string.h> #include <stdio.h> int main(void) { unsigned i1 = 0x11223344, i2 = 0x12223344; printf("%d\n", memcmp(&i1,&i2,sizeof(unsigned))); return 0; }
- an
int
value equal to0
- the output depends on the target platform’s endianness
- an
int
value greater than0
- an
int
value less than0
- an
-
What will be the sort order if the
qsort()
function uses the following comparator?int cmp(const void *v1, const void *v2) { return *((int *) v2) - *((int *) v1); }
- the resulting sort order cannot be determined
- non-ascending
- non-descending
- random
Subscribe
0 Comments
Newest