
指针的高级应用
处理命令行参数
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);
}
} |