首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么C程序会给出不同的结果?

为什么C程序会给出不同的结果?
EN

Stack Overflow用户
提问于 2012-10-30 14:47:05
回答 1查看 1.8K关注 0票数 16

我参加的一次考试中有一道题。问题是:

以下代码的输出将是什么:

代码语言:javascript
复制
#include<stdio.h>
#include<conio.h>

void main()
{
 int a=5, b=6, c=7;
 printf("%d%d%d");
}

我的回答是:它会给出一个警告,因为printf没有提供所需的参数。

如果你要运行它,你会得到无用的值。

老师给了我零分。根据他的说法,答案是这些值将以相反的顺序打印,即输出将是"765“。

问题是他使用的是Turbo C++编译器,而我通常使用的是GCC。我可以有一些评论和解释来找回我的分数吗?还是我的答案真的错了?

EN

回答 1

Stack Overflow用户

发布于 2012-10-30 14:51:45

printf中的参数不匹配且未提供参数(如此问题所示)是

代码语言:javascript
复制
undefined behaviour

它可能会得到garbage,也可能会得到那些值a,b,c。它不是由语言标准定义的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13133979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档