C++ 问题 急急急急急!!!!
intn=10;switch(n){default:++n;case9:n-=1;break;case10:n-=1;case11:n--;case12:n++;}n的值...
int n=10;
switch(n)
{
default: ++n;
case 9: n-=1;break;
case 10: n-=1;
case 11: n--;
case 12: n++;
}
n的值输出多少??能否解释一下,default中的++n;和case 11的n--,case 12的n++,的区别是什么??
如果在case11后加个break、,那n的值是输出多少呢? 展开
switch(n)
{
default: ++n;
case 9: n-=1;break;
case 10: n-=1;
case 11: n--;
case 12: n++;
}
n的值输出多少??能否解释一下,default中的++n;和case 11的n--,case 12的n++,的区别是什么??
如果在case11后加个break、,那n的值是输出多少呢? 展开
3个回答
展开全部
n输出的值是9。
因为switch语句中没有break,所以,会一直执行到swith语句快尾部。
++n 对变量n的值进行加法运算,即n=n+1,然后返回n的值。
n-- 先返回n的值,然后再对变量n进行减法运行,即n = n - 1: 。
n++ 先返回n的值,然后再对变量n进行加法运算,即n=n + 1。
这个就是++/--前缀和后缀的区别。上面的例子中,用前缀和后缀得到的结果都是一样的。
以下是一个例子:
#include <stdio.h>
int main()
{
int n = 10;
// 输出11,因为先对n进行+1运算,在作为printf()函数的参数, n = 11
printf("%d \n",++n);
//n的值现在是11
printf("%d \n",n);
// 输出是11,因为先把n的值最为printf()的参数,然后对n进行+1运算,n=12
printf("%d \n",n++);
//n的值现在是12
printf("%d \n",n);
//--和++类似,你可以自己写代码厕所
return 0;
}
因为switch语句中没有break,所以,会一直执行到swith语句快尾部。
++n 对变量n的值进行加法运算,即n=n+1,然后返回n的值。
n-- 先返回n的值,然后再对变量n进行减法运行,即n = n - 1: 。
n++ 先返回n的值,然后再对变量n进行加法运算,即n=n + 1。
这个就是++/--前缀和后缀的区别。上面的例子中,用前缀和后缀得到的结果都是一样的。
以下是一个例子:
#include <stdio.h>
int main()
{
int n = 10;
// 输出11,因为先对n进行+1运算,在作为printf()函数的参数, n = 11
printf("%d \n",++n);
//n的值现在是11
printf("%d \n",n);
// 输出是11,因为先把n的值最为printf()的参数,然后对n进行+1运算,n=12
printf("%d \n",n++);
//n的值现在是12
printf("%d \n",n);
//--和++类似,你可以自己写代码厕所
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
n的值输出为8,如果循环内条件都不满足就执行default,++n是自加1然后再使用,n--是使用后再自减1,n++是使用后再自加1.
追问
非常感谢您的回答!!++n,和n++的含义我明白,但是在该程序中我就不会用了。。
由于case 10后没有break,因此会继续往case11,case12下运行,那如果在case 11中加个break,那你的值是多少呢?是输出自减1前的值9呢,还是输出自减1后的值8呢?
追答
输出是10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询