早教吧作业答案频道 -->其他-->
有关C语言char*s[]={"first","second","third"};printf("%s,%s,%c\n",s[0],s[1]+1,*s[2]);A、first,second,*thirdB、first,econd+1,*thirdC、first,econd,*tD、first,econd,t不过为什么呢?
题目详情
有关C语言
char *s[]={"first","second","third"};
printf("%s,%s,%c\n",s[0],s[1]+1,*s[2]);
A、first,second,*third B、first,econd+1,*third
C、first,econd,*t D、first,econd,t
不过为什么呢?
char *s[]={"first","second","third"};
printf("%s,%s,%c\n",s[0],s[1]+1,*s[2]);
A、first,second,*third B、first,econd+1,*third
C、first,econd,*t D、first,econd,t
不过为什么呢?
▼优质解答
答案和解析
char *s[]={"first","second","third"};
那么s[0],s[1],s[2]都是char *,也就是指向char类型变量的指针,分别指向
s[0]---->"first"
s[1]---->"second"
s[2]---->"third"
所以他们分别表示三个字符串的内存中存储区域的首地址
以%s方式输出s[0]好理解
以%s方式输出s[1]+1
之前已经解释过了s[1]表示的是字符串"second"在内存中的首地址
s[1]+1这个地址增1,由于是char *,变1表示下一个字符'e'的地址
从这个地址输出字符串,自然就是"econd"
%c方式输出*s[2],s[2]指向"third", *s[2]就是第一个字符't',最后自然输出 t
那么s[0],s[1],s[2]都是char *,也就是指向char类型变量的指针,分别指向
s[0]---->"first"
s[1]---->"second"
s[2]---->"third"
所以他们分别表示三个字符串的内存中存储区域的首地址
以%s方式输出s[0]好理解
以%s方式输出s[1]+1
之前已经解释过了s[1]表示的是字符串"second"在内存中的首地址
s[1]+1这个地址增1,由于是char *,变1表示下一个字符'e'的地址
从这个地址输出字符串,自然就是"econd"
%c方式输出*s[2],s[2]指向"third", *s[2]就是第一个字符't',最后自然输出 t
看了 有关C语言char*s[]=...的网友还看了以下:
C语言计算圆的面积的问题代码为:#include #include #define PI 3.14 2020-05-17 …
我是初一的,我用勾股定理得出计算圆周率的公式,公式是派=4/n[sqrt(1-0^2/n^2)+s 2020-06-05 …
跪求指导:索洛模型的储蓄率变动对稳态的影响分析我想问一下,索洛模型的储蓄率变动对稳态的影响分析里, 2020-07-07 …
求n阶行列式的值第一行(a,0,...,0,1)第二行(0,a,...,0,0)第n-1行(0,0 2020-07-22 …
三道C语言题,请高手指点第一道:#includedoublef(intn){inti;double 2020-07-23 …
s3+s2+s+1=0S3+S2+S+1=0求s(一般解法)?(其中S3表示S的3次方)那S3+S 2020-07-29 …
若,│m-2│+(n/3-1)²=0,问单项式3x²y(m+n-1)和x(2m-n+1)y(4)是 2020-07-31 …
若f(n)=(n^2+1)^0.5-n,g(n)=n-(n^2-1)^0.5,h(n)=1/2n, 2020-08-01 …
1=0.9999…999(1)吗?如果成立,则:0.0000…0001=0(2);0.0000…00 2020-11-07 …
编写程序,计算下列公式中S的值(n是运行程序时输入的一个正整数)S=1+(1+2)+(1+2+3)+ 2020-12-24 …