db
我的目标是编写一个名为" contains"这需要两个文本字符串作为参数并打印" true"然后换行。
如果第二个字符串完全包含在第一个字符串中,或者" false"然后是换行符。 我认为我的逻辑是正确的。 我的问题是如何将这两个字符串作为参数传递。
答案 0 :(得分:0)
在main中初始化变量。如果你想把它作为参数,那么在其他函数中写入逻辑,并通过将两个字符串作为变量传递并在主函数中定义它们来调用它。
答案 1 :(得分:0)
这两个"标准" main
的参数对此负责。
argc
...命令行参数的数量argv
...带命令行参数的字符串数组。因此,argv [0]提供程序的名称。
在你的情况下:
#include <stdio.h> /* for printf, fprintf */
#include <string.h> /* for strlen */
int main(int argc, char **argv)
{
char *str1, *str2;
/* check for min. number of required args. */
if (argc <= 2) {
fprintf(stderr, "ERROR! At least one arg. missing!\n");
return -1;
}
/* get args. */
str1 = argv[1]; str2 = argv[2];
/* (the strings are 0-terminated) */
printf("argv[1]: '%s' (length: %d)\n", str1, strlen(str1));
printf("argv[2]: '%s' (length: %d)\n", str2, strlen(str2));
/* process data */
/* done */
return 0;
}
编译并运行:
$ gcc -o testArgs ./testArgs.c
$ ./testArgs
ERROR! At least one arg. missing!
$ ./testArgs Hello "Hello world"
argv[1]: 'Hello' (length: 5)
argv[2]: 'Hello world' (length: 11)
更多信息:
c main argc argv
c strlen
。