我在理解如何创建函数以计算命令行参数中的字符时遇到麻烦。它只需要在“ my_strlen()”函数中计算结果,而在main()中将结果打印出来。我是C语言的新手,但到目前为止是我的代码;
int my_strlen( char string[]);
{
strcpy(string, argv[1];
return 1;
}
int main(int argc, char *argv[])
{
if(argv != 2)
{
printf("You must run this program with an argument\n");
return 2;
}
printf("%d", strlen(string);
return 0;
}
如您所见,我很困惑,我也不知道如何存储strlen(string)的值以后再将其作为自己的整数来调用。
尝试这个简单的代码。
#include <stdio.h>
#include <string.h>
int my_strlen(char *string) //Function to calculate length of given string
{
int i;
for(i=0;string[i]!='\0';i++);
return i;
}
int main(int argc, char *argv[])
{
int length;
if(argc != 2) //Check the number of command line arguments
{
printf("You must run this program with an argument\n");
return 2;
}
else
{
length = my_strlen(argv[1]); //Your function to calculate length of string
printf("Length of command line argument is: %d\n", length);
}
return 0;
}
为什么我的程序在运行时为什么说分段错误