输出abcdprintf("%s",p++);--->输出bcdprintf("%c",*p);---->输出aprint" />

一道c语言结构体的题目

一道c语言结构体的题目为什么是a和c而不是ab和cd?

char *p="abcd";
printf("%s",p); ---->输出abcd
printf("%s",p++);--->输出bcd
printf("%c",*p);---->输出a
printf("%c",*(p++));--->输出b
体会一下区别

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-05-20
在结构体变量定义中,y是一个指向字符的指针。
在声明变量数组tab时,tab[0]的y指向常量字符串ab的首字符a。
因为前面已经定义p=tab,此时p指针是指向tab[0]的。题目说的是*p->y的值,相当于*(p->y)的值,如果仅仅说p->y的值,那一定是字符a的地址,现在是*(p->y),就是又取了值,那肯定是字符a啦!不可能是字符串ab。本回答被提问者和网友采纳

c语言使用结构体的一道题?
include<stdio.h> struct DATE { int year;int month;int day;};void push(int d[12],int*year,int*month,int*day) { if(*day<d[*month-1])(*day)++;else if(*day>d[(*month)-1])printf("error input!");else if(*month<12)(*month)++,*day=1;else (*year)++,*month=1,...

C语言结构体编程题,求助大神啊
根据题意:一、教师信息定义为结构体,其成员年月也为结构体(可直接定义成两个成员变量,本题没有强制要求),婚姻状态采用共用体类型。二、输入信息直接写在main函数,实际软件开发应单独写输入函数,输入验证我只写了性别和婚姻状态的验证,其余成员的输入验证需要自己添加。(实际开发,验证也应单独写...

C语言二级考试,急,大哥们帮帮忙吧!
struct ks \/*定义名为ks的结构体*\/ {int a; /*成员名..int型..a*/ int *b; /*成员名 int型的指针b..用于指向a的地址(后面给出)*/ }s[4],*p; /*定义一个数组里面有4个结构体变量,定义一个结构体类型指针p..该指针..++后..会跳过一个结构体长度的地址...*...

C语言,结构体题目,怎么做,求大神修改一下
printf("%2d%10s%2c%4d%6.2f%6.2f%6.2f\\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].chinese,stu[i].math,stu[i].english);printf("\\n");return 0;}

一道关于C语言结构体数组问题,
char id[20];char subject[20];char name[20];float score[3];float total;float average;} stud[100];int main(){ int i,max=0,n,m;printf("please input the number of student:\\n");scanf("%d",&n);printf("ID\\tsubject\\tname\\tMT\\tEN\\tPH\\n\\n");for(i=0;i<...

关于C语言的题目:用结构体定义一个复数,并实现复数的加法、减法和乘法...
void add(struct complex a, struct complex b, struct complex *c){ c->re=a.re+b.re;c->im=a.im+b.im;} void minus(struct complex a, struct complex b, struct complex *c){ c->re=a.re-b.re;c->im=a.im-b.im;} int main(){ struct complex x,y,s,p;scanf("%d...

二级C语言关于结构体的题目
struct st{ char a[15];long b;};int main (){ struct st s[111];long end[111];char t[50][14],other[14]={'333'},son[50][14],gson[50][14];char x[11];int n;scanf("%d",&n);getchar();for(int i=0;i<n;i++){ scanf("%s%ld",s[i].a,&s[i].b);} for...

一道简单的C语言题
答案为D a[3]数组之中元素值(每一个数组元素都是结构体)a[0] ={1, &a[1]} a[1] ={2,&a[2]} a[2] ={3,&a[0]} ptr =&a[1];选项A ptr->i++ = 1+1 =2;选项B ptr++->i =(ptr->i)++ 此时ptr->i =2,由于是后缀,所以在此式子之后才变化 B、D就是++i,i+...

C语言计算结构体长度问题
int n1;char n2;float n3;\/\/因为4字节对齐,这里是12个字节 union uu\/\/这里是个union,所以里面的内容最大的,作为它的大小,所以是用int u1[2],占8个字节 { int u1[2];char u2[2];}su;};最后的结果,应该是12+8= 20 11是绝对不正确的。值得注意的是,编译器有些可以设置对齐...

简单的C语言结构体问题,输出3个数中居中的数(在线等,
int age;}person[N];void main(){ int i;printf("please input peoele's names and ages:\\n");for(i=0;i<=2;i++)scanf("%s%d",person[i].name,&person[i].age);if((person[0].age-person[1].age)*(person[0].age-person[2].age)<0)printf("%s\\t%d\\n",person[0].name...

相似回答