结果及分析如下:
4(展开为a=a%6-1,016是8进制写法,整数值为14而-优先级高于%,所以结果是a=14%(6-1),是4)
2(运算结合顺序是从右往左:&=,%=,/=,=,-=,+=,=所以这个表达式展开a=a+(a=a(a=a/3)),赋值表达式"="的结果为表达式结果,由上一步a=4,得到最终结果2对于a++,后置++运算返回值为传入时的值,也就是2,所以输出是2,而之后a的值已经变为3了)
4(前置++运算返回值是运算后的结果,本来a为3,自加后变为4,所以输出4)
这个程序的输出结果是9。
这个程序相当于下面的程序,省略掉③和④一对花括号:
程序分析
③句和④不会被执行,所以,z的值是9。
判断③和④隐含一个花括号的方法是,else与最近的if语句配对。
有什么问题请留言。
GDABC
#include<stdioh>
#include <stringh>
void main()
{ char b[30],chp=b;
strcpy(chp,"GH");//把GH复制到chp中
strcpy(chp+1,"DEF");//CHP+1说明长度由2增加到3,为GDE
strcpy(chp+2,"ABC");//同理chp增加到5(3+2)变为GDABC
printf ("%s\n",chp);
}
这里d=25,所以d/10 =25但是因为都是整型,将采用去尾处理,结果为2
%是取模,也就是求余数,2除以9的余数就是2 所以最后a=2;
b = a && (-1)因为在C语言中,将非0的值认为为真,所以-1为真,而a=2,也为真。
&&是与的关系, 真 与 真 结果还是真,在C语言中用1表示,所以b=1
#include<stdioh>
void func1(int i);//函数的声明,为了调用函数
void func2(int i);
char st[]="hello,friend!";
void func1(int i)//通过man函数的调用给i赋值
{
printf("%c",st[i]);//输出st[0]的值 即st[0]=h
if(i<3)
{
i+=2;
func2(i);//调用函数func2,把值2的给i
}
}
void func2(int i)
{
printf("%c",st[i]);//输出st[2]的值 即st[2]=l
if(i<3){
i+=2;
func1(i);//嵌套调用函数func1(4),输出st[4]的值 即st[4]=o
}
}
main()
{ int i=0;
func1(i);
printf("\n");
}
//故程序输出的结果为hlo
printf()函数用来在屏幕上输出字符串,括号里用双引号括起来的是要输出的字符串"a=%72f\n",a意思是输出 “a=”+变量a的值,\n是输出后换行的意思,%72f里f的意思是输出a的类型是float类型,72即输出左对齐,'7'位数,'2'两位小数答案补充72是说总共7位,小数点后两位,如果不满7位就要补上空格。形如"a=%d,b=%f",a,b是指按照%d,%f的顺序和格式,用a,b的值来替换百分号的地方
以上就是关于下列程序的输出结果是全部的内容,包括:下列程序的输出结果是、下面程序的输出结果是________、下列程序的输出结果是等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)