What is printed by the following ANSI C program?
#include<stdio.h>
int main(int argc, char argv[])
{
int a[3][3][3] = {
{1, 2, 3, 4, 5, 6, 7, 8, 9},
{10, 11, 12, 13, 14, 15, 16, 17, 18},
{19, 20, 21, 22, 23, 24, 25, 26, 27}};
int i = 0, j = 0, k = 0;
for( i = 0; i < 3; i++){
for(k = 0; k < 3; k++)
printf("%d ", a[i][j][k]);
printf("\n");
}
return 0;
}
The program declares a three-dimensional array a[3][3][3], which contains a total of 27 elements stored in row-major order (as per C array storage).
The nested loops are structured such that:
- The outer loop controls the first index i.
- The middle loop fixes the second index at j = 0.
- The inner loop varies the third index k from 0 to 2.
Iteration-wise explanation:
When i = 0 and j = 0, the inner loop prints:
\[
a[0][0][0],\ a[0][0][1],\ a[0][0][2]
\]
which correspond to:
\[
1\ 2\ 3
\]
When i = 1 and j = 0, the inner loop prints:
\[
a[1][0][0],\ a[1][0][1],\ a[1][0][2]
\]
which correspond to:
\[
10\ 11\ 12
\]
When i = 2 and j = 0, the inner loop prints:
\[
a[2][0][0],\ a[2][0][1],\ a[2][0][2]
\]
which correspond to:
\[
19\ 20\ 21
\]
Final Output:
\[
\text{1 2 3} \\
\text{10 11 12} \\
\text{19 20 21}
\]
This matches Option (A).
Suppose in a multiprogramming environment, the following C program segment is executed. A process goes into the I/O queue whenever an I/O related operation is performed. Assume that there will always be a context switch whenever a process requests an I/O, and also whenever the process returns from an I/O. The number of times the process will enter the ready queue during its lifetime (not counting the time the process enters the ready queue when it is run initially) is _________ (Answer in integer).

Arrange the following data types available in C language according to their size (smallest to largest):
A. signed long int
B. long double
C. unsigned char
D. unsigned int
Choose the correct answer from the options given below:
What is printed by the following ANSI C program?
#include<stdio.h>
int main(int argc, char argv[])
{
char a = 'P';
char b = 'x';
char c = (a & b) + '';
char d = (a | b) - '-';
char e = (a ^ b) + '+';
printf("%c %c %c\n", c, d, e);
return 0;
}
ASCII encoding for relevant characters is given below
