选择答案C,输出的为字符c的地址。
因为%d是打印整形变量的值,因为前一句执行了s+=2,s指针偏移了两个位置,偏移了两个位置之后s指向的是字符c,所以输出语句输出的是指针s,而s存放的是地址,所以输出的就是字符c所在的地址。
扩展资料:
C语言字符串的实现:
c语言没有string类型,c语言中字符串是通过字符指针来间接实现的。
存储多个字符的两种方式:字符串、字符数组。
C语言重要的字符串函数:
1、strcpy(s1, s2),复制字符串 s2 到字符串 s1。
2、strcat(s1, s2),连接字符串 s2 到字符串 s1 的末尾。
3、strlen(s1),返回字符串 s1 的长度。
4、strcmp(s1, s2),如果 s1 和 s2 是相同的,则返回 0;如果 s1
5、strchr(s1, ch),返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
6、strstr(s1, s2),返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
2楼是对的
printf("%d\n",*s);} 就是字符c的ASCII码值
printf("%s\n",s);} 就是cde
printf("%s\n",*s);} 就是段错误 D、出错
C) 字符c的地址
s定义为指向字符串“abcde”的指针,
s+=2,s指针偏移2个位置,指向c字符
后面的打印语句,输出的是s指针的值,即字符c的地址
c的地址,%d是打印整型变量的值,整型变量在32位机上是四字节,指针变量也是四字节,所以刚好。
就是C)字符c的地址