代码块
#include <stdio.h>
int main(void){
char *str="我的梦想是当一名程序猿!";
printf("%s", str);
printf("%c", *(str+5));
return 0;
}
1.
printf("%s", str);
输出的结果是:我的梦想是当一名程序猿!
这句话的意思是打印整个str所指向的字符串.没有星号是因为前面有个%s
,s是string字符串的意思,那么后面就得是一个字符指针,字符串是默认char类型的数组,所以被同样当作首地址,打印不需要星号前置,输出整个字符串,直到'\0'
停止。
2.如果是%d
,那么后面可以是不加星号,打印出的结果是内存的随机值。
printf("%d", str);
输出的结果是:4210688
3.也可以加上星号,打印出的结果是str指向的字符串第一个字符的ASCII值为止。
printf("%d", *str);
输出的结果是:-50