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。一般来说,如果for或while语句使用循环计数器,那么使用关系运算符更安全(例如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 结构不能包含它自己类型的成员,因为如果允许,那么编译器就不可能知道这种结构的大小。虽然相同类型的指针可以是成员,因为所有类型的指针大小相同,编译器可以计算结构的大小。