大众信息网

int main(int argc, char **argv)

关注:258  答案:2  手机版
解决时间 2021-02-22 21:40
int main(int argc, char **argv)
{
int on;
int led_no;
int fd;

if(argc != 3 ||sscanf(argv[1],"%d",&led_no) !=1 ||
sscanf(argv[2],"%d",&on) !=1 ||
on < 0 || on > 1 || led_no <0 || led_no>3)
{
fprintf(stderr,"Usage:Leds led_no 0|1\n");
exit(1);
}
其中sscanf(argv[1],"%d",&led_no)怎么理解啊?为什么最后那个参数是个地址?难道argv[1]是一个指针?
我这样理解的!比如我输入 ./LED 1 0 那么argv[1]就是指向1的指针,利用sscanf 把1的地址传给你&led_on 从而得出 led_on为1
我理解对吗?这里的argv[1]到底是一个指针还是数组中的一个数!
最佳答案
char **argv
主函数如上定义,注意有2个星号,意思就是char型指针数组,其中每一项都是指针
全部回答
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc,char *argv[]) { char s[]="50"; char qq[]="tencent://message/?uin="; if(argc==1) { printf("命令语法不正确。\n"); exit(0); } if(argc>2) { printf("命令语法不正确。\n"); exit(0); } if(strcmp(argv[1],"b")==0)//注意,参数传进去的是字符串,而不是字符 { printf("b"); } if(strcmp(argv[1],"c")==0) { printf("c");  } return 0; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!