C 程序的输出 | 32套
预测以下 C 程序的输出。
1. 以下程序的输出是什么?
输入:
1 3
C
#include
int main()
{
int a, b;
if(scanf("%d%d", &a, &b)==2)
printf("true");
else
printf("false");
return 0;
}
C
#include
int main()
{
int a=0;
a=a++ + a++ - a++ + ++a;
printf("%d\n", a);
return 0;
}
C
#include
int ar[] = {18, 23, 45, 56, 4, 6, 45};
int main()
{
int i, x;
x = (sizeof(ar)/sizeof(ar[0]));
for (i=-1; i<=(x-2); i++)
printf("%d, ", ar[i+1]);
}
C
#include
int count;
void display();
int main()
{
count = 1;
printf("Value of count is %d, ", count);
display();
}
void display()
{
extern int count;
printf("\nValue of count is %d", count);
}
C
#include
int main()
{
int flag = 0, flag1 = 0, n;
char s;
flag = scanf("%d", &n);
flag1 = scanf("%d", &s);
printf("Value of flag is %d", flag);
printf("\nValue of flag is %d", flag1);
return 0;
}
C
#include
union student
{
int y[34];
char var2[7];
char arr[8];
char ch[5];
};
int main()
{
union student st;
printf("%d", sizeof(union student));
return 0;
}
输出:
True
说明: Scanf函数返回整数值,因为它的返回类型是整数。在上面的问题中,如果你输入两个整数值,那么它会返回2。表示“如果条件”为真,否则“如果条件”为假。
2. 以下程序的输出是什么?:
C
#include
int main()
{
int a=0;
a=a++ + a++ - a++ + ++a;
printf("%d\n", a);
return 0;
}
输出:
3
解释:从左到右执行
In the first step
A = (0) + (a++) - (a++) + (++a)
In the second step
A = (0) + (1) - (a++) + (++a)
In the third step
A = (0) + (1)-(2) + (++a)
In the fourth step
A = (0) + (1)-(2) + (4)
Therefore final value of A is 3.
3. 以下程序的输出是什么?
C
#include
int ar[] = {18, 23, 45, 56, 4, 6, 45};
int main()
{
int i, x;
x = (sizeof(ar)/sizeof(ar[0]));
for (i=-1; i<=(x-2); i++)
printf("%d, ", ar[i+1]);
}
输出:
18, 23, 45, 56, 4, 6, 45,
说明: Sizeof 和相等运算符的结合性是从右到左。 Sizeof运算符返回单个元素的字节大小或容器元素大小。因此,当我们在 sizeof运算符传递整数类型的单个元素时,sizeof(ar[0]) 将返回 4 个字节,因为整数占用 4 个字节,而 sizeof(ar) 将返回数组容器的总大小,即 4*7=28。
4. 以下程序的输出是什么?
C
#include
int count;
void display();
int main()
{
count = 1;
printf("Value of count is %d, ", count);
display();
}
void display()
{
extern int count;
printf("\nValue of count is %d", count);
}
输出:
Value of count is 1
Value of count is 1
解释:在这个问题中,count 是程序中的一个全局变量。我们将 1 分配给 main函数的count 变量,它将进一步传递给 display函数。 “Extern int count”是一种在任何函数定义全局变量的方法。
5. 以下程序的输出是什么?
输入:
1
c
C
#include
int main()
{
int flag = 0, flag1 = 0, n;
char s;
flag = scanf("%d", &n);
flag1 = scanf("%d", &s);
printf("Value of flag is %d", flag);
printf("\nValue of flag is %d", flag1);
return 0;
}
输出:
标志的值为 1
标志的值为 0
说明: Scanf函数将返回整数值。在上面的问题中,如果它被成功执行它会返回 1 否则它会返回 0。因此 flag=scanf(“%d”, &n) 将返回 1 因为它扫描一个整数值而 flag=scanf(“%d” , &s) 将返回 0,因为它无法扫描字符值。如果您不插入任何值,则它将返回 -1。
6. 以下程序的输出是什么?
C
#include
union student
{
int y[34];
char var2[7];
char arr[8];
char ch[5];
};
int main()
{
union student st;
printf("%d", sizeof(union student));
return 0;
}
输出:
136