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]到底是一个指针还是数组中的一个数!
int main(int argc, char **argv)
答案:2 mip版
解决时间 2021-02-22 21:40
- 提问者网友:醒不来的梦
- 2021-02-22 08:26
最佳答案
- 二级知识专家网友:老酒街
- 2021-02-22 09:58
char **argv
主函数如上定义,注意有2个星号,意思就是char型指针数组,其中每一项都是指针
主函数如上定义,注意有2个星号,意思就是char型指针数组,其中每一项都是指针
全部回答
- 1楼网友:口袋里的自由
- 2021-02-22 11:05
#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;
}
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯