gpt4 book ai didi

命令行参数条件 pset2 凯撒

转载 作者:行者123 更新时间:2023-11-30 19:35:51 25 4
gpt4 key购买 nike

我刚刚开始学习 C 语言类(class),并且遇到了命令行参数的问题。分配是这样的(还有更多,但这是开头有关命令行参数的部分):
- 你的程序必须接受一个命令行参数,一个非负整数。
- 如果您的程序在没有任何命令行参数或具有多个命令行参数的情况下执行,您的程序应该打印您选择的错误消息并返回 1。
- 您可以假设,如果用户确实提供了命令行参数,它将是一个非负整数(例如 1)。无需检查它是否确实是数字。

所以我想出了这段代码:

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


int main(int key, string plain[]) {

if (key < 0 || plain[key] > 1)
{
printf("error\n");
return 1;
}
else

等等...代码继续。

现在我已经尝试了几件事,但是我遇到了困难。编译器不想接受我提出的 if 条件,说指针和整数之间的比较存在错误到作业列表上的粗体条件。所以我明白命令行参数的 argv 部分是用户输入的字符串数组。所以我的想法是告诉编译器,当用户给出多个字符串时,它应该给出一条错误消息,所以我写了“普通[键] > 1)”。或者我对命令行参数的理解完全不正确吗?谢谢。

最佳答案

plain[key] 访问 plain 字符串指针数组 (argv) 的键元素。

该数组的大小由键 (argc) 表示。

所以你想要的是

if (key > 1)
{
//..
}

此外,普通的最后一个元素是 key-1,因为它是基于 0 的索引。

关于命令行参数条件 pset2 凯撒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41981235/

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