字符串常量实际上是指针,如:
#include
//接受一个无符号整型值,把它转换成字符,并打印出来
//如果是打印16进值的数,可以用这种方法:putchar( "0123456789ABCDEF"[ value % 16 ] )
void binary_to_ascii( unsigned long value )
{
unsigned long quotient;
quotient = value / 10;
if( quotient != 0 )
binary_to_ascii( quotient );
putchar( "0123456789"[ value % 10 ] );
}
int main()
{
//字符串常量实际上是个指针,这个表达式计算"指针值加上1"的值。它的结果也是个指针,
//指向字符串中的第二个字符:y
printf( "%s/n", "xyz"+1 );
//对一个指针执行间接访问操作时,其结果就是指针所指向的内容。
//字符串常量的类型是"指向字符的指针",所以这个间接访问的结果就是它所指向的字符:a
printf( "%c/n", *"abcdefg" );
//同样可以推断出上面这个表达式的值就是字符z
printf( "%c/n", "abcdefg"[3] );
binary_to_ascii( 1234567 );
getchar();
return 0;
}