RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1010014
Accepted
mathem
mathem
Asked:2020-08-04 21:18:27 +0000 UTC2020-08-04 21:18:27 +0000 UTC 2020-08-04 21:18:27 +0000 UTC

脚本叠加

  • 772

在编程语言中,特别是在 C 语言中,这种方法是否适用?


在互联网上到处都是(至少我看到的)C 示例中,对接收到的.exe 的参数的访问是在一个循环中给出的,我紧张并没有循环得到它:

#include <stdio.h>
int main (int argc, char * argv[]) {
     printf("Argument %d: %s\n", 2, argv[2]);         
     return 0;

 }
}

另一方面,此线程中的@Harry提供了以下代码:

ShellExecute(0, "open", "notepad","c:\\2.txt",
         NULL, SW_RESTORE); 

如果我们严格把叠加原理扩展到脚本,那么下面的代码:

#include <stdio.h>
int main (int argc, char * argv[]) {
     //printf("Argument %d: %s\n", 2, argv[2]);   
     ShellExecute(0, "open", "winword", 1, argv[1], NULL, SW_RESTORE);      
     if(argc == 1) {
             printf("Command line has no additional arguments\n");
     return 0;

      }

    }

应该产生一个 100% 保证的可行的 .exe。那么,为什么不叠加脚本呢?同时,我绝对不在乎(还)这个脚本(和第一个)参数前面的 1 是什么意思:重要的是 1 在第一个脚本中。但是……唉,啊:这段代码编译失败,.exe文件没有形成。这意味着叠加,至少毫无疑问,不适用于脚本 - 但这是某种废话,一切都应该达到绝对水平!

любой-язык
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Anton Abrosimov
    2020-08-05T03:28:26Z2020-08-05T03:28:26Z

    版主会惩罚我,但我无法抗拒......

    脚本叠加

    编程中没有这样的概念。我假设我们正在讨论函数的组合。

    在编程语言中,特别是在 C 语言中,这种方法是否适用?

    是的,适用。

    在 C 示例中,对接收到的 .exe 的参数的访问在循环中给出

    1. 访问命令行(调用)参数。这些是调用 .exe的参数,而不是调用本身.exe。
    2. 他们在循环中,因为 参数个数不同。

    我收紧了,没有循环。

    阅读有关编程基础知识的教程,这样这些事情就不再麻烦了。

    您的代码的工作版本:

    #include <stdio.h>
    int main (int argc, char * argv[]) {
         printf("Argument %d: %s\n", 2, argv[2]);         
         return 0;
    }
    

    @Harry 这是此线程中的以下代码:

    这是一个函数调用的例子(一段工作代码)。

    如果我们严格地将叠加原理扩展到脚本

    1. 脚本 - 以解释性编程语言编写的脚本文件。C++ 是一种编译语言。您正在编写程序,而不是脚本。
    2. 在编程中,你很容易违反函数组合的原则。调用函数可能会忽略被调用函数的结果,被调用函数可能不会返回结果。
    3. 此外,编程中的功能并不总是孤立的。
    4. 最后,除了函数之外,编程中还有其他对象。其中一些可以封装在函数中,而有些则必须修改/转移。

    然后是以下代码: 应该产生一个 100% 保证的可行的 .exe。

    1. 那些。如果我写了一个有错误的数学函数,我需要诉诸数学基本定律中的错误吗?
    2. 如果我在除法之前执行加法并且我的问题没有找到解决方案,那么这个数学不起作用,或者我无法计算?
    3. 100% 保证只有在理想世界中才有可能。

    那么,为什么不叠加脚本呢?

    其实没什么。如果我取一个工作函数的一部分,把它塞进另一个工作函数的一部分,甚至改变那里的系数,我能保证得到一个有意义的结果吗?

    同时,我绝对不在乎(还)这个脚本(和第一个)参数之前的 1 是什么意思:重要的是 1 在第一个脚本中。

    你可能不在乎,但编译器不在乎。ShellExecute以一定的顺序接受一定数量的参数。并且编译器期望准确地接收它们。

    此代码编译时出错

    显然,是因为程序没有正确编写。

    .exe 文件未生成

    显然,如果编译器失败。

    这意味着叠加,至少毫无疑问,不适用于脚本

    如果我没有正确解方程,那么显然应该归咎于数学。

    但那是胡说八道

    我同意。

    一切都应该达到绝对水平!!!

    什么都”?谁“应该”?“绝对水平”是什么?

    您的代码的工作版本(应该是,没有 Windows,所以我无法检查):

    #include <iostream>
    #include <windows.h>
    #include <Shellapi.h>
    
    int main (int argc, char * argv[]) {
        //printf("Argument %d: %s\n", 2, argv[2]);   
        ShellExecute(0, "open", "winword", argv[1], NULL, SW_RESTORE);      
        if(argc == 1) {
            printf("Command line has no additional arguments\n");
            return 0;
        }
    }
    
    • 3

相关问题

  • 小于 X 且可被 Y 整除的最大自然数

  • Code Golf:Snake 2D 数组遍历

  • “生产”和“研究”编程语言

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5