scanf argc argv解析
2016-10-20 19:58
162 查看
scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中
scanf函数的一般形式为:
scanf(“格式控制字符串”, 地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。
如:
在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个以上的空格或回车键作为每两个输入数之间的间隔
格式字符串:
格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型
1) 类型
表示输入数据的类型,其格式符和意义如下表所示。
格式 字符意义
d 输入十进制整数
o 输入八进制整数
x 输入十六进制整数
u 输入无符号十进制整数
f或e 输入实型数(用小数形式或指数形式)
c 输入单个字符
s 输入字符串
2) “*”符
用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:
scanf(“%d %*d %d”,&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
3) 宽度
用十进制整数指定输入的宽度(即字符数)。例如:
scanf(“%5d”,&a);
输入12345678只把12345赋予变量a,其余部分被截去。又如:
scanf(“%4d%4d”,&a,&b);
输入12345678将把1234赋予a,而把5678赋予b。
argc是命令行总的参数个数 默认值1即任何数据不输入时为1,由于文件名就是第一个参数
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数
命令行后面跟的用户输入的参数,比如:
int main(int argc, char* argv[])
{
int i;
for (i = 0; i
比如你输入
test a.c b.c t.c
则
argc = 4
argv[0] = “test”
argv[1] = “a.c”
argv[2] = “b.c”
argv[3] = “t.c”
参考博客:
http://c.biancheng.net/cpp/html/34.html
http://www.cnblogs.com/avril/archive/2010/03/22/1691477.html
http://blog.chinaunix.net/uid-26727991-id-3087765.html
scanf函数的一般形式为:
scanf(“格式控制字符串”, 地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。
如:
int a,b,c; scanf("%d%d%d",&a,&b,&c);
在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个以上的空格或回车键作为每两个输入数之间的间隔
格式字符串:
格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型
1) 类型
表示输入数据的类型,其格式符和意义如下表所示。
格式 字符意义
d 输入十进制整数
o 输入八进制整数
x 输入十六进制整数
u 输入无符号十进制整数
f或e 输入实型数(用小数形式或指数形式)
c 输入单个字符
s 输入字符串
2) “*”符
用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:
scanf(“%d %*d %d”,&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
3) 宽度
用十进制整数指定输入的宽度(即字符数)。例如:
scanf(“%5d”,&a);
输入12345678只把12345赋予变量a,其余部分被截去。又如:
scanf(“%4d%4d”,&a,&b);
输入12345678将把1234赋予a,而把5678赋予b。
argc是命令行总的参数个数 默认值1即任何数据不输入时为1,由于文件名就是第一个参数
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数
命令行后面跟的用户输入的参数,比如:
int main(int argc, char* argv[])
{
int i;
for (i = 0; i
ddd
char *argv[]是一个字符数组,其大小是int argc,主要用于命令行参数 argv[] 参数,数组里每个元素代表一个参数;比如你输入
test a.c b.c t.c
则
argc = 4
argv[0] = “test”
argv[1] = “a.c”
argv[2] = “b.c”
argv[3] = “t.c”
参考博客:
http://c.biancheng.net/cpp/html/34.html
http://www.cnblogs.com/avril/archive/2010/03/22/1691477.html
http://blog.chinaunix.net/uid-26727991-id-3087765.html
相关文章推荐
- 解析argc与argv
- 一个能把命令行解析为argc和argv数组的函数
- linux_argv_argc_参数解析
- ffmpeg parse_loglevel(argc, argv, options)函数解析
- main (int argc,char *argv[]) 解析
- argc 和 argv 经典实例
- Linux中的argc和argv[]
- 分解命令行字符串为argc和argv
- 关于(*++argv)[0]与argc
- argc与argv
- awk内置变量之FILENAME、ARGC、ARGV、ENVIRON
- C++中main()函数中argc和argv的含义
- scanf()小技巧,使用%[]进行字符串解析
- 关于main主函数的两个参数argc和argv
- main(int argc, char **argv)中argc和argv的具体含义,以及操作系统如何处理它们
- argc和argv
- 关于main函数中argc和argv的简单介绍
- scanf易错点解析
- main 函数的 参数 argc,argv 用法
- Main函数中的argc和argv应用举例