标签: execution

while 循环在请求输入之前生成 printf 两次?

由于某种原因,这个 while 循环执行了两次,并且在提示输入之前字符串被打印了两次。我原以为输入缓冲区中有一个字符,但据我所知,情况并非如此。有什么建议吗?

while (count >= 0 && stop != 83 && isClosed == 0) {
     printf("Percentage of Door Closed: %d\n",count);
     count -= 10;
     printf("If sensor detects object press 'S'\n");
     printf("Press any button to continue closing door\n");
     stop = getchar();
     if (count == 0) {
        isClosed=1;
     }
}
Run Code Online (Sandbox Code Playgroud)

输出:

Percentage of Door Closed: 100
If sensor detects object press 'S'
Press any button to continue closing door
Percentage of Door Closed: 90
If sensor detects object press 'S'
Press any …
Run Code Online (Sandbox Code Playgroud)

c execution while-loop

1
推荐指数
1
解决办法
1万
查看次数

PHP 停止执行,没有错误

我正在管理一个由大约 100 个用户使用的系统。除了一个用户外,一切正常。当该用户登录时,源代码只会输出大约 70 行 og html,然后停止执行。PHP 没有显示任何错误,错误日志中也没有显示任何内容。在脚本中启用了错误。

如果我删除一些行,在 html 中,它将执行更多的 PHP,但仍然在源代码中的大约 70 行处停止。

正如我所说,这只会发生在一个用户身上。

有没有人知道这里可能出什么问题?

php session buffer execution server

1
推荐指数
1
解决办法
1700
查看次数

c/perl/python 中简单程序之间的执行时间过长的原因是什么?

我用 C、Perl 和 Python 编写了一个简单的程序,它递增一个变量,直到它达到 10 亿。我没想到不同语言之间会有太大差异,但看到巨大差异感到非常惊讶。这些程序简单地数到 10 亿:

在 c:

int main() {
  int c = 0;

  while (c < 1000000000) {
    c++;
  }
}
Run Code Online (Sandbox Code Playgroud)

在 Perl 中:

#! /usr/bin/env perl

use strict;
use warnings;

my $x = 0;

while ($x < 1000000000) {
  $x++;
}
Run Code Online (Sandbox Code Playgroud)

在 Python 中:

#!/usr/bin/env python

i = 0
while i < 1000000000:
  i += 1
Run Code Online (Sandbox Code Playgroud)

使用 zsh/bash 时间函数的运行时间是:

对于 c: 1.78s 用户 0.01s 系统 98% cpu 1.813 总计

对于 perl:29.86s 用户 0.13s 系统 …

c python perl execution

1
推荐指数
1
解决办法
97
查看次数

C中perror函数两个输出执行顺序的差异

删除“\n”时相同代码上的输出序列之间的差异

#include<stdio.h>
#include<errno.h>
#include<string.h>


int main()
{
FILE * fp;
fp = fopen("GeeksForGeeks", "/root/C");
printf("Value of error no : %d\n", errno);
printf("The error message is : %s\n", strerror(errno));
perror("Message from perror.");
return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码,但是当我删除“\n”时,perror 的执行顺序发生了变化。谁能解释为什么?

c errno execution

1
推荐指数
1
解决办法
69
查看次数

C++ std::accumulate 与策略执行未找到

我想使用 C++17 的新并行设施,但我的计算机不这样做。

\n

这有效:

\n
finalOutline.push_back(std::accumulate(intermediateCoefs.begin(), intermediateCoefs.end(),origin,[](sf::Vector2f prev, sf::Vector2f current) {\n            return sf::Vector2f(current.x + prev.x, current.y + prev.y);\n        }));\n
Run Code Online (Sandbox Code Playgroud)\n

但这不起作用:

\n
finalOutline.push_back(std::accumulate(std::execution::seq, intermediateCoefs.begin(), intermediateCoefs.end(),origin,[](sf::Vector2f prev, sf::Vector2f current) {\n            return sf::Vector2f(current.x + prev.x, current.y + prev.y);\n        }));\n
Run Code Online (Sandbox Code Playgroud)\n

这里是错误消息:

\n
/home/mbs/Bureau/cplusplusWorkspace/sauvegardeGit/compresse-moi-ces-cercles/src/Model.cpp: In member function \xe2\x80\x98void Model::computeFinalOutline(int)\xe2\x80\x99:\n/home/mbs/Bureau/cplusplusWorkspace/sauvegardeGit/compresse-moi-ces-cercles/src/Model.cpp:246:47: error: no matching function for call to \xe2\x80\x98accumulate(const __pstl::execution::v1::sequenced_policy&, std::vector<sf::Vector2<float> >::iterator, std::vector<sf::Vector2<float> >::iterator, sf::Vector2f&, Model::computeFinalOutline(int)::<lambda(sf::Vector2f, sf::Vector2f)>)\xe2\x80\x99\n  246 |         finalOutline.push_back(std::accumulate(std::execution::seq, intermediateCoefs.begin(), intermediateCoefs.end(),origin,[](sf::Vector2f prev, sf::Vector2f current) {\n      |                                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  247 |             return sf::Vector2f(current.x + prev.x, …
Run Code Online (Sandbox Code Playgroud)

c++ policy execution accumulate c++17

1
推荐指数
1
解决办法
468
查看次数

C功能未按顺序执行

我知道可能有类似的问题,它只是在C++中,我不知道它们是否相同.我有一些代码

void BuildApp(char *AppName)
{
        char *cmd;
        cmd = combine("mkdir ./Projects/", AppName);
        cmd = combine(cmd, "/Package/");
        // Make the package dir.
        system(cmd);
        cmd = "";
        cmd = combine("mkdir ./Projects/", AppName);
        cmd = combine(cmd, "/Package/DEBIAN");
        system(cmd);
        cmd = "";
        cmd = combine("mkdir ./Projects/", AppName);
        cmd = combine(cmd, "/Package/Applications");
        system(cmd);
        cmd = "";
        cmd = combine("mkdir ./Projects/", AppName);
        cmd = combine(cmd, "/Package/Applications/");
        cmd = combine(cmd, AppName);
        cmd = combine(cmd, ".app");
        system(cmd);
        cmd = "";
        cmd = combine("mkdir ./Projects/", AppName);
        cmd = combine(cmd, …
Run Code Online (Sandbox Code Playgroud)

c execution

0
推荐指数
1
解决办法
379
查看次数

在创建对象JAVA之前,构造函数代码不会执行

我最近在java中使用过代码,遇到了这个问题,构造函数中的代码似乎没有被执行,因为编译器会抛出NullPointerException.

public class ObjectA {

protected static ObjectA oa;
private String message = "The message";

public ObjectA() {

    oa = new ObjectA();

}

public static void main(String args[]) {

    System.out.println(oa.message);

}  }
Run Code Online (Sandbox Code Playgroud)

现在,当我在构造函数之前移动对象的创建时,即我在一行中完成它,然后一切正常.

任何人都可以向我解释为什么会发生这种情况,以及我对代码的理解是错误的?

提前致谢.

java constructor creation object execution

0
推荐指数
1
解决办法
974
查看次数

Ruby:执行后语句的值会发生什么变化?

可能是一个非常基本的问题,但无论如何我都会问.我尝试使用Google搜索我的问题,但由于我不知道要搜索的关键字,因此无法获得结果.任何更多信息的链接将不胜感激.

那么,执行后语句的值会发生什么变化?也许只是因为我在IRB,我自己很困惑.例如,如果我在IRB(交互式Ruby)中并执行以下操作:"Hello World"

价值是否会消失,永远消失?或者它是否临时存储在可以访问的地方?提前致谢!

ruby irb execution

0
推荐指数
1
解决办法
80
查看次数

在MATLAB中并行执行

我是MATLAB的新手,我只是尝试执行一个并行的小程序,但问题是并行执行需要比串行执行更多的时间?


close all
clear all
clc

a= rand(1e6,1);
b= rand(1e6,1);
c= zeros(size(a));
d= ones(size(c));
e= zeros(size(d));

tic
tstart=tic;
for i=1:length(a)
    c(i)=a(i)+b(i);
    d(i)=c(i)+b(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    e(i)=d(i)+c(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    c(i)=a(i)+b(i);
    d(i)=c(i)+b(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    e(i)=d(i)+c(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    c(i)=a(i)+b(i);
    d(i)=c(i)+b(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    e(i)=d(i)+c(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
end
t_normal_for=toc(tstart)

tstart=tic;
parfor i=1:length(a)
    c(i)=a(i)+b(i);
    d(i)=c(i)+b(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    e(i)=d(i)+c(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    c(i)=a(i)+b(i);
    d(i)=c(i)+b(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    e(i)=d(i)+c(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    c(i)=a(i)+b(i);
    d(i)=c(i)+b(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
    e(i)=d(i)+c(i)*a(i)+b(i)/a(i)+b(i)*a(i)+b(i);
end
t_parfor=toc(tstart)

***************************************
t_normal_for =

    0.3860


t_parfor =

    2.8403
Run Code Online (Sandbox Code Playgroud)

谁能帮忙!事实上,我的计算机中有4名工人,MATLAB的版本是R2014a.请问另一个问题,我可以向计算机中的每个工作人员发送相同的功能吗?

提前谢谢Ammar

parallel-processing matlab execution

0
推荐指数
1
解决办法
71
查看次数

如何自动终止脚本内命令的无限执行?

我的bash脚本中有一个可以开始无限执行的命令。而当它发生时,我想终止该命令的过程并继续执行脚本。

我已经用Google搜索并试图找到重复的答案-没有结果:(

“ myProgram”是bash脚本中的C语言简单程序,可将“ *”打印到“ stars.txt”文件中。它是使用command编译的gcc myProgram .cpp -o myProgram。“ myProgram”可以开始无限执行,我想在发生时终止它。

...
./myProgram 2>> log.txt > stars.txt
...
Run Code Online (Sandbox Code Playgroud)

请为我提供解决方案或为我提供有助于获得答案的材料。如果您需要任何其他信息,请提出要求,我会尽快答复:)

bash execution infinite

0
推荐指数
1
解决办法
37
查看次数