if(argv=“”){}就是这个样子,怎么表示?
main(int argc, char *argv[])
{
printf("%s=%f\n\n",argv[1],calval(argv[1]));
return calval(argv[1]);
getchar();
}
我是要把argv【1】作为参数传给我自定义的函数,在但是由于argv【1】是空的 所以在vc中运行或者直接点击.exe就崩溃了,我要设定一个当它为空的时候,返回一个东西,让它能正常运行,然后再在cmd什么的运行,主要是要保证直接点击不要崩溃...是这个意思
char *argv[1] ; // 表示:定义一个长度为1的数组,数组名为argv,存放的是指向char型的指针;
1、使用该变量时,只能使用argv[0] ,而不能取argv[1] ;
2、判断为空,则与指针判断相同,if(argv[0] == NULL) { //code ; }
3、argv是主函数int argc,char *argv[])中的变量名,所以定义用户自己的变量时,请避开系统默认的设定。
1、使用该变量时,只能使用argv[0] ,而不能取argv[1] ;
2、判断为空,则与指针判断相同,if(argv[0] == NULL) { //code ; }
3、argv是主函数int argc,char *argv[])中的变量名,所以定义用户自己的变量时,请避开系统默认的设定。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2016-12-02
你的代码存在两个错误
第一,如果char* argv[1]的话,是不存在argv[1]的,只有argv[0];
第二,指针为空的情况应该表示成:if(argv == NULL),或if(argv == 0),前者为标准表示法!本回答被提问者采纳
第一,如果char* argv[1]的话,是不存在argv[1]的,只有argv[0];
第二,指针为空的情况应该表示成:if(argv == NULL),或if(argv == 0),前者为标准表示法!本回答被提问者采纳
第2个回答 2010-12-03
argv[1] = "2"
argv[2] = "45"
argv[3] = "678"
而argv[i]是字符串数组的头指针,指向第一个字符,因此
argv[1] - '0' = 2
argv[2] - '0' = 4
argv[3] - '0' = 6
程序结果当然就是246了
argv[2] = "45"
argv[3] = "678"
而argv[i]是字符串数组的头指针,指向第一个字符,因此
argv[1] - '0' = 2
argv[2] - '0' = 4
argv[3] - '0' = 6
程序结果当然就是246了
第3个回答 2010-12-03
if(strlen(argv[1])==0)
{
}本回答被网友采纳
{
}本回答被网友采纳