以下程序的输出结果是?
1
2
3
4
5
6
7
|
#include <stdio.h> main() { char a[10]={ '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' ,0},*p; int i; i=8; p=a+i; printf ( "%s
" ,p-3); } |
6
6789
'6'
789
答案 B 错选 A
1、p指向a[5]
2、“%s”输出直到''的字符串
3、最后的0为数字而非字符‘0’,ASIIC码中0为空字符
所以输出的结果是 6789 而不是67890