D是对的,原因:s是一个指针,开始指向字符串“abcde”存储空间的起始地址s += 2向后移动了2个位置到c处,存储的是c处的起始地址,如果打印s内容是cde用%d打印输出的是s的地址如果printf("%d", s[0]); 选择C是没问题的,因为S[0]是字符而不是字符串