char s[]="zhangsan", *p="zhangsan"; 都是定义的同时赋值,但是意义不同。s是地址常量,将zhangsan逐个赋值到s开始的各元素,重新赋值 s[0]='Z'; 是合法的。p是指向字符串常量的,重新赋值 *p='Z'; 是非法的。
查看答案
设STU是某结构体类型的别名,其成员有int id和char name[32],且STU stu={101,"zhangsan"}, *p=&stu;利用指针参照stu的id和name,需要用箭头,即:p->id和p->name
A. 对
B. 错
设STU是某结构体类型的别名,其成员有int id和char name[32],且STU stu[10], *p;利用指针从键盘输入10个id和name的语句是:for(p=stu; pid), p->name);
A. 对
B. 错
struct stu{ int id; char name[28]; } s[128], *ps1=s, *ps2=s+100; 且已知执行printf("%d", ps1); 后,输出120000则执行printf("%d", ps2); 后,输出120100
A. 对
B. 错
struct stu{ int id; char name[28]; } s[128], *ps1=s, *ps2=s+100; 则执行printf("%d", ps2-ps1); 后,输出100
A. 对
B. 错