有以下程序 main ( ) { char a[ ]={’a’,’b’, ’c’,’d’, ’e’,’f’,’g’,’h’,’\0’}; int i,j; i=sizeof (a); j=strlen(

admin2009-01-15  25

问题 有以下程序    main ( )   {        char a[ ]={’a’,’b’, ’c’,’d’, ’e’,’f’,’g’,’h’,’\0’};  int i,j;        i=sizeof (a);        j=strlen(a);       print f (" %d, %d\n" i, j );   }    程序运行后的输出结果是

选项 A、9,9
B、8,9
C、1,8
D、9,8

答案8

解析 本题中首先定义了字符数组a,由于它的长度省略,所以其长度由初值个数确定,为9。接着将sizeof()函数返回的值赋给i (SIZeof()函数的作用是返回运算对象占用的字符数),所以i值为9。然后将strlen()函数的返回值赋给j(strlen()函数的作用是返回字符串的长度,不包括字符串的结束标记’\0’),所以j值为8,所以最后输出的i,j的值为9,8。所以4个选项中D正确。
转载请注明原文地址:https://jikaoti.com/ti/kYS0FFFM
0

相关试题推荐
最新回复(0)