📜  C 程序的输出 |设置 55

📅  最后修改于: 2022-05-13 01:57:14.573000             🧑  作者: Mango

C 程序的输出 |设置 55

1. 以下程序的输出是什么?

#include 
int main()
{
    int a = 03489;
    printf("%d", a);
    return (0);
}

选项:
1. 1865
2.运行时错误
3. 语法错误
4. 0

The answer is option(3).
Explanation:

任何带有 0 的整数值前缀都充当八进制数,但允许的数字是 0 到 7。但这里有 8 和 9,这会导致语法错误。

2. 以下程序的输出是什么?

#include 
int main()
{
    char c;
    int i;
    c = 'B';
    i = c - 'A';
    printf("%d", i);
    return (0);
}

选项:
1. 5
2. 1
3. 不兼容的类型声明
4. -5



The answer is option(2).

说明:这里我声明为整数。所以,它会操作 ASCII 值。因为 B 的 ASCII 值是 66,A 的 ASCII 值是 65。因此 i = c-'A' = 1。

3. 下面程序的输出是什么?

#include 
int main()
{
    printf("GEEKS");
    main();
    return (0);
}

选项:
1.极客
2.运行时错误
3.极客无限
4.编译时错误

The answer is option(3).

说明:因为 main()函数反复调用自身。

4. 下面程序的输出是什么?

#include 
int main()
{
    int n, i = 5;
    n = - - i--;
    printf("%d%d", n, i);
    return (0);
}

选项:
1. 54
2. 44
3. 45
4. 55

The answer is option(1).

说明:这里的minus*minus 在语句n=- -i– 中作为i 之前的加号。
参考:https://www.geeksforgeeks.org/unary-operators-cc/

5. 以下程序的输出是什么?



#include 
int main()
{
    int a = 10;
    printf("%d", a++ * a++);
    return (0);
}

选项:
1. 100
2. 110
3. 105
4.无输出

The answer is option(2).

说明:这里 a++ 是后增量。因此,当它获得 a++ 时,缓冲区中 a 的值更改为 11,但仍为 a=10。当它再次被调用时,a 将是 11。所以它将是 11*10=110。

6. 下面程序的输出是什么?

#include 
int main()
{
    int a = 20, b = 8, c;
    c = a != 5 || b == 4;
    printf("c=%d", c);
    return (0);
}

选项:
1.c=0
2.无输出
3.编译时间
4. c=1

The answer is option(4).