即使使用换行符和fflush(),printf也不起作用

万迪尔

我正在使用编译以下C代码gcc在编译期间或运行时不会引发任何错误。我使用遍历了代码gdb,最后给出的答案sum是正确的,但printf()屏幕上没有显示任何内容。我已经试过各种组合fprintf()printf()fflush(),但没有任何工程。

我需要更改什么,以便程序将结果打印到stdout

#include <stdio.h>
#include <stdlib.h>

int main()
{
        int num = 9;
        int i, sum; i = 1, sum = 0;
        while (i < 2 * num) {
                sum = sum + i * i;
                ++i;
        }
        printf("sum: %d\n", sum);
        fflush(stdout);
        return 0;
}
基思·汤普森

该代码是正确的,并且应该打印sum: 1785出任何符合要求的实现。

这是一个猜测(update:原来是正确的),但是...

您已命名源文件test.c,并使用以下命令对其进行编译:

$ gcc test.c -o test

(或类似内容)并执行以下命令:

$ test

不会产生任何输出。

问题在于这test是一个标准的Unix命令(在某些shell中也是一个内置命令)。在外壳上键入命令名称时,它首先查找内置命令,然后在$PATH环境变量中指定的目录中查找可执行文件

要在当前目录中执行命令,./请在名称前添加:

$ ./test
sum: 1785
$ 

这适用于当前目录中的任何命令。有太多内置命令,您无法合理避免与它们发生冲突。通过键入来养成在当前目录中运行可执行文件的习惯,这./whatever意味着名称冲突并不重要。

(不要试图将其添加.到您的前端$PATH;这很危险。请考虑一下,如果您cd进入目录并键入ls,如果那里存在恶意ls命令,会发生什么情况。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP换行符不起作用

来自分类Dev

PHP换行符不起作用

来自分类Dev

PHP换行符不起作用

来自分类Dev

制表符和换行符的ANSI C引用有时不起作用

来自分类Dev

UITextView的textContainer换行符和最大行数不起作用

来自分类Dev

PHP mail()中的换行符:\ n,\\ n和\ r \ n不起作用

来自分类Dev

Internet Explorer \ n换行符不起作用

来自分类Dev

Javascript添加换行符,\ n不起作用

来自分类Dev

为什么换行符不起作用?

来自分类Dev

PHP中的换行符不起作用

来自分类Dev

jQuery的换行符删除在Firefox中不起作用

来自分类Dev

FPDF-换行符不起作用

来自分类Dev

工具提示中的换行符不起作用

来自分类Dev

电子邮件换行符不起作用

来自分类Dev

rnw换行符,整洁不起作用

来自分类Dev

回声换行符在bash中不起作用

来自分类Dev

换行符(\ n)在IE中不起作用

来自分类Dev

Android:换行符在textview中不起作用

来自分类Dev

jQuery换行符删除在Firefox中不起作用

来自分类Dev

Python中的换行符不起作用

来自分类Dev

更换换行符不起作用

来自分类Dev

cakephp 2.X 换行符不起作用

来自分类Dev

为什么警报换行符不起作用?

来自分类Dev

为什么 javascript 换行符不起作用?

来自分类Dev

当 NVARCHAR 有换行符时,使用 SQL 语句的 Javascript 代码不起作用

来自分类Dev

div元素中带有换行符的文本不起作用

来自分类Dev

VBA字符串-添加\ n等价的换行符不起作用

来自分类Dev

PHP正则表达式允许换行符不起作用

来自分类Dev

Python自动执行的对Elasticsearch的批量请求不起作用“必须由换行符终止”