- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我忘记将附带的变量添加到 printf() 调用中。 printf() 如何知道我要打印什么?
int successful = 0;//Flag
printf("\nEnter a number to search for: ");
scanf("%d", &data);
successful = search(list, data);
successful? printf("\n'%d' was found\n\n", data) : printf("\n'%d' was NOT found\n\n");
违规代码是最后一行三元表达式的最后一个“else”。我已经运行了几十次,它似乎总是在输出中打印出正确的参数。
: printf("\n'%d' was NOT found\n\n");
这怎么每次都有效?
最佳答案
它可能看起来有效,但不要依赖于此。
它可能有效,因为你最近的函数调用,
successful = search(list, data);
将 data
值留在堆栈的适当位置。
如果您忽略在声明单个局部变量的函数中包含 return 语句,有时会发生类似的意外发现,这可能会很有用。
int wowee () {
int val;
val = 12;
// <-- no return statement!
}
有时,局部变量val
会被返回,可能是由于同一种堆栈重用。但这也是未定义的行为,即使它碰巧起作用。
这两种情况的寓意是启用更多编译器警告。编译器可以诊断此类问题,甚至可以检查格式字符串是否与传递给 prinf 系列函数的变量类型匹配。
关于c - printf() 'mysteriously' 如何知道我打算打印什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18841282/
假设我有一个具有以下属性的虚拟机 FQDN :trialinstance.westus.cloudapp.azure.com Public IP : XXX.XXX.XXX.XXX Private I
假设我有一个具有以下属性的虚拟机 FQDN :trialinstance.westus.cloudapp.azure.com Public IP : XXX.XXX.XXX.XXX Private I
在移植游戏时,我得出以下声明 Object o = new Object[]{"A","B"}; 真的很奇怪! 但是当我尝试对“String”进行同样的操作时,编译器会向我报告错误消息 String
作为一个更大项目的一部分,我一直在构建一个编程语言检测器,即代码片段的分类器。我的基线模型非常简单:将输入标记化并将片段编码为词袋,或者,在这种情况下,bag-of-tokens,并在这些特征之上制作
我忘记将附带的变量添加到 printf() 调用中。 printf() 如何知道我要打印什么? int successful = 0;//Flag printf("\nEnter a number t
我正在集成 HTML 编辑器 CKEditor在我的 Cocoa 应用程序中使用 WebView。 到目前为止,它按预期工作,除了一件事:如果我打开 NSColorPanel在应用程序的任何其他位置并
我正在开发一款适用于 Android 的应用程序。在我的代码中有以下几行: if (shape != null && !created && isTap(touchDown, event)) {
我正在尝试对指向某个类的智能指针 vector 进行排序。我使用结构作为 std::sort 的第三个参数与 operator() : struct PhraseSmartPtrParseCreati
我在使用自动引用计数的 iOS 4.3 和 iOS 5 中工作。我在我的界面中声明了一个 NSDate 对象: NSDate *fingerprintsDate; 稍后,我设置了 NSDate - 使
最近我正在修复某人的代码。有一个大类不会解除分配。您必须发布 5 或 6 个版本才能将其释放。 我仔细地翻遍了大类,最终找到了各种需要发布的东西。 这让我思考:必须有一些非常简单的方法来“查找”对象上
这让我发疯。我有一个 UITableView,复制并粘贴了它。第二个在第一个单元格之前没有顶部填充,第一个有。堆栈中也没有神秘的 View 。到底是怎么回事?我要疯了,不想删除 UITableView
我遇到一个问题,IE 9(可能还有其他版本)无法正确显示我的水平列表。如您所见,最右边的元素被向下推了一点。 HTML: Lorem ipsum dolor sit ame
我已经为 .它按预期呈现,除了 svg 元素底部边缘的水平线。 svg来源是 你可以在这里看到错误的水平线 Codepen (它在底部,蓝色...)。 我希望线路消失
我从 Crashlytics 得到的报告是 Crashed: com.apple.main-thread SIGABRT ABORT at 0x357fedf0 我如何缩小这个谜团崩溃的范围? 此外,
我在 Git 中看到一个对我来说似乎非常神秘的行为。我保留了来自 Github 的 Linux 存储库的克隆。在本地玩 Git。明确地说,我在这个存储库中没有做太多事情:我获取更改、更新 master
关于 我有一个 android 应用程序,它有 2 个 Activity 。 Activity A 产生 Activity B, Activity B 访问另一个模块中的房间数据库。我使用 Koin
这个 Common Lisp 函数使用极其简单的幼儿园级算法和一些“案例”测试来简单地计算墙壁线框边缘的四个顶点,似乎负责为每个渲染帧动态分配 196608 字节; SBCL 的分析器告诉我,就 co
我正在解决“情书之谜”问题,可能我的逻辑是正确的,但它显示了时间问题问题是 Question here .我的解决方案如下。它包含两个函数,一个是theLoveLetterMystery(String
我正在通过 OpenGL 在伪二维 Canvas 中显示四边形。为此,我通过以下方式使用正交投影: gl.glMatrixMode(GL10.GL_PROJECTION); gl.glLoadIden
我的程序似乎总是会产生荒谬的错误。请给我指路。下面的代码段删掉了所有不相关的部分。谢谢。 代码段A部分似乎没有正确初始化数组,如何调试?代码段的 B 部分总是崩溃,我是否遗漏了什么? typedef
我是一名优秀的程序员,十分优秀!