我试图检查密文的密钥,看看是否每个字符都是整数。The code当我编译程序时,我得到以下错误code compiling error
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个元素)
string
string[1]
argv[1]
argv
bool only_digits(string argv[1])
1条答案
按热度按时间9jyewag01#
你可以做如下:
你的问题是:
1.第6行:only_digits应该接收参数类型
string
,而不是string[1]
(字符串数组)1.第26、33行:
argv[1]
是访问argv
数组中第二个元素的方式。当argv[1]
在函数原型bool only_digits(string argv[1])
中声明一个数组类型的参数时(有1个元素)