指针的高级应用
处理命令行参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <stdio.h>
int
main(
int
argc,
char
**argv)
{
while
(*++argv !=NULL && **argv==
'-'
)
{
switch
(*++*argv)
{
case
'a'
:
printf
(
"a select \n"
);
break
;
case
'b'
:
printf
(
"b select \n"
);
break
;
default
:
printf
(
"nothing select \n"
);
break
;
}
}
}
|
字符串常量
字符串常量出现在表达式当中是其值为指针常量。
1
2
3
4
5
6
7
8
9
|
#include <stdio.h>
int
main(
int
argc,
char
**argv)
{
printf
(
"%d \n"
,
"abcdefg"
);
printf
(
"%d \n"
,
"abcdefg"
+1);
printf
(
"%c \n"
,*(
"abcdefg"
+1));
printf
(
"%s \n"
,
"abcdefg"
+1);
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <stdio.h>
void
func(
int
n)
{
n +=5;
n /=10;
printf
(
"%s\n"
,
"**********"
+10-n);
}
int
main(
int
argc,
char
**argv)
{
while
(1)
{
int
n;
scanf
(
"%d"
,&n);
func(n);
}
}
|