单选题 有以下程序
main()
{char a[]={'a','b','c','d','e','f','g','h','/0'};int i,j;
i=sized(a);j=stden(a);
printf(“%d,%d/n”,i,j);
}
程序运行后的输出结果是
  • A. 9,9
  • B. 8,9
  • C. 1,8
  • D. 9,8
【正确答案】 D
【答案解析】[解析] 本题中首先定义了字符数组a,由于它的长度省略,所以其长度由初值个数确定,为9。接着将sizeof()函数返回的值赋给i(sizeof()函数的作用是返回运算对象占用的字符数),所以i值为9;然后将strlen()函数的返回值赋给j(strlen()函数的作用是返回字符串的长度,不包括字符串的结束标记'/0'),所以j值为8,所以最后输出的i, j的值为9,8。