📜  C程序的输出| 21套

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

C程序的输出| 21套

预测以下 C 程序的输出。

问题 1

#include
#define fun (x) (x)*10
  
int main()
{
    int t = fun(5);
    int i; 
    for(i = 0; i < t; i++)
       printf("GeesforGeeks\n");
  
    return 0;
}

输出:编译器错误
宏声明中有一个额外的空间,导致乐趣被 (x) 取代。如果我们删除多余的空间,那么程序运行良好并打印“GeeksforGeeks”50 次。以下是工作程序。

#include
#define fun(x) (x)*10
  
int main()
{
    int t = fun(5);
    int i; 
    for(i = 0; i < t; i++)
       printf("GeesforGeeks\n");
  
    return 0;
}

处理宏时要小心。多余的空格可能会导致问题。


问题2

#include
int main()
{
    int i = 20,j;
    i = (printf("Hello"), printf(" All Geeks "));
    printf("%d", i);
  
    return 0;
}

输出:Hello All Geeks 11
printf()函数返回它已成功打印的字符数。逗号运算符从左到右计算它的操作数,并返回最右边的表达式返回的值(有关更多详细信息,请参见此处)。首先printf(“Hello”)执行并打印“Hello”printf(“All Geeks”)执行并打印“All Geeks” 。此 printf 语句返回分配给 i 的 11。