📜  C程序的输出| 20套

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

C程序的输出| 20套

预测以下 C 程序的输出。

问题 1

int main()
{
  int x = 10;
  static int y = x;
  
  if(x == y)
     printf("Equal");
  else if(x > y)
     printf("Greater");
  else
     printf("Less");
  
  getchar();
  return 0;
}

输出:编译器错误
在 C 中,静态变量只能使用常量字面量来初始化。有关详细信息,请参阅此 GFact。


问题2

#include 
  
int main()
{
  int i;
  
  for (i = 1; i != 10; i += 2)
  {
    printf(" GeeksforGeeks ");
  }
  
  getchar();
  return 0;
}

输出:无限次 GeeksforGeeks



循环终止条件永远不会变为真,循环会无限次打印 GeeksforGeeks。一般来说,如果forwhile语句使用循环计数器,那么使用关系运算符更安全(例如this了解详细信息。


问题 3

#include
struct st
{
    int x;
    struct st next;
};
  
int main()
{
    struct st temp;
    temp.x = 10;
    temp.next = temp;
    printf("%d", temp.next.x);
  
    getchar();
    return 0;
}

输出:编译器错误
AC 结构不能包含它自己类型的成员,因为如果允许,那么编译器就不可能知道这种结构的大小。虽然相同类型的指针可以是成员,因为所有类型的指针大小相同,编译器可以计算结构的大小。