8.以下程序段的输出结果是( )。 char s[20]=”ab128”; printf(“%d”,strlen(s)); A)5 B)6 C)7 D)8 5
7个回答
展开全部
strlen表示测字符串长度,故选A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值,
而字符串系统会默认在结尾(ab128 中的 8 后面)给他加 \0, 然后你自己数喽!
而字符串系统会默认在结尾(ab128 中的 8 后面)给他加 \0, 然后你自己数喽!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选A,strlen()函数用于计算数组有效长度,直到'\0'结束,并不把'\0'包括在内。而"ab128"是字符串常量,会自动在末尾赋值'\0',也就是s[6]='\0'。
追问
2.设m是一个3位正整数,则其百位上的数字为(用含m的表达式表示) 。
3.设ch为char型变量,其值为’A’,则下面表达式的值为 。
ch=(ch>’A’&&ch<=’Z’)?(ch+32):ch
4.已知:int x=35,z=32;则表达式x+++z的值为 。
5 编程题 从键盘上输入10个学生的成绩,求出这10个学生成绩的平均分和最高分。
追答
2,x=m/100,x为百位数字
3,ch>'A'的值为0 0&&ch<=’Z’的值为0 条件表达式的表达式1为0,选则表达式3,即ch。所以ch=ch,ch仍然为'A'。
4,+++这个我无能为力,不同编译程序对+++有不同的排序算法,即有时是(x++)+z,有时是x+(++z)。你可以自己运行vc或者看下答案,看考的要求那种算法。
5,void main()
{int i,a[10],s,max;
for(i=0;i<10;i++)
{scanf("%d",&a[i]);}
for(i=0,s=0,max=0;i<10;i++)
{s+=a[i];
if(max<a[i]) {max=a[i];}
}
printf("平均分是%d,最高分是%d",s/10,max);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strlen是计算字符串字符的长度,s字符串的内容是ab128,所以内容是5个字符长度。所以选A
追问
2.设m是一个3位正整数,则其百位上的数字为(用含m的表达式表示) 。
3.设ch为char型变量,其值为’A’,则下面表达式的值为 。
ch=(ch>’A’&&ch<=’Z’)?(ch+32):ch
4.已知:int x=35,z=32;则表达式x+++z的值为 。
5 编程题 从键盘上输入10个学生的成绩,求出这10个学生成绩的平均分和最高分。
追答
2,m/100
3,‘A’的ASCII码值
4,68
5,#include
void main()
{
int score[10]={0};
int i,sum=0,max;
scanf("%d",score);
flushall();
sum=max=score[0];
for(i=1;imax)
max=score[i];
sum+=score[i];
}
printf("max=%d,ave=%g\n",max,float(sum/10));
getchar();
}
这是你的考试题目吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a前面有没有空格啊,没有的话结果5,有的话,结果6
追问
2.设m是一个3位正整数,则其百位上的数字为(用含m的表达式表示) 。
3.设ch为char型变量,其值为’A’,则下面表达式的值为 。
ch=(ch>’A’&&ch<=’Z’)?(ch+32):ch
4.已知:int x=35,z=32;则表达式x+++z的值为 。
5 编程题 从键盘上输入10个学生的成绩,求出这10个学生成绩的平均分和最高分。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询