C语言 凯撒:检查钥匙

bfhwhh0e  于 2023-06-21  发布在  其他
关注(0)|答案(1)|浏览(132)

我试图检查密文的密钥,看看是否每个字符都是整数。The code当我编译程序时,我得到以下错误code compiling error

9jyewag0

9jyewag01#

你可以做如下:

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

bool only_digits(string key);
void print_usage() {
  printf("Usage: ./caesar key\n");
}

int main(int argc, string argv[]) {
  if (argc != 2) {
    print_usage();
    return 1;
  }

  if (!only_digits(argv[1])) {
    print_usage();
    return 1;
  }
  return 0;
}

bool only_digits(string key) {
  int key_length = strlen(key);
  for (int i = 0; i < key_length; i++) {
    if (isdigit(key[i]) == 0) {
      return false;
    }
  }

  return true;
}

你的问题是:
1.第6行:only_digits应该接收参数类型string,而不是string[1](字符串数组)
1.第26、33行:argv[1]是访问argv数组中第二个元素的方式。当argv[1]在函数原型bool only_digits(string argv[1])中声明一个数组类型的参数时(有1个元素)

相关问题