A-A+
若有如下程序: main() {static char*a[3]={123 456
问题详情
若有如下程序: main() {static char*a[3]={"123","456","789"); char **b; b=a; ++b; printf("%s,%sn",*a,*a+1); printf("%s,%sn",*b,b[1]); } 则程序运行后的输出结果是()。
A.123,456, 456,789
B.123,23 456,56
C.123,23 456,789
D.123,456 456,56请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:a为指针数组,a[0]即数组a的数组名指向字符串"123"的首地址,输出*a为"123",*a+1将指针下移1个存储单元,输出字符串为”23”。a[1]指向字符串"456"的首地址,a[2]指向字符串"789"的首地址。b为指针的指针,它的值为数组a的首地址。