gpt4 book ai didi

c - 运行c程序的linux脚本

转载 作者:太空狗 更新时间:2023-10-29 15:24:22 25 4
gpt4 key购买 nike

我试图在 linux 中运行一个脚本来运行一个 c 程序脚本如下

#!/bin/bash
`gcc odd.c -o odd222`
`chmod +x odd222`
echo `./odd222`

而 odd.c 是

main()
{
int i;
printf("enter the no.");
scanf("%d",&i);
printf("shiv");
}

但问题是,当我运行这个脚本时,所有的 scanf 语句都被执行,然后所有的输出都显示出来......

如果我没有在 ./odd222 之前放置 echo,那么它会提示错误输入命令未找到(“输入”printf 中的第一个元素。

请帮助我

最佳答案

去掉反引号、chmod 和 echo。您需要做的就是运行 gcc,然后运行您的程序。

#!/bin/bash
gcc odd.c -o odd222
./odd222

最好只在程序编译成功后才尝试运行该程序。您可以使用 && 使其成为有条件的。

#!/bin/bash
gcc odd.c -o odd222 && ./odd222

最好修改您的 C 代码以确保立即打印输出。输出通常是行缓冲的,这意味着它只会在您写完一整行并在末尾添加换行符 \n 时显示。您需要打印换行符:

printf("enter the no.\n");

或者显式刷新输出:

printf("enter the no.");
fflush(stdout);

关于c - 运行c程序的linux脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19025763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com