有以下程序的输出结果是,结果是多少?

以下程序的输出结果是多少_百度知道
以下程序的输出结果是多少
程序void main(){
int a=1,b=3,c=5;
if(c=a+b) printf(&yes\n&);
else printf(&no&);}
提问者采纳
yesc=a+b(c=1+3=4)c等于0.判断真输yes
提问者评价
其他类似问题
按默认排序
其他3条回答
应该print yes, if赋值给c, 总true, 所论都yes.除非=改==
yes 如果是if (c==a+b)那就是no了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁广告载入中......
只看作者回帖
只看我的回帖
[回删锁滤] &592字& 亮 2复印5
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &112字& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &14字& 亮 0复印1
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &14字& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &7字& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印1
[回删锁滤] &空& 亮 0复印1
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印1
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &14字& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &170字& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &187字& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 1复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
[回删锁滤] &空& 亮 0复印0
广告载入中......执行下列程序段后,输出的结果是什么
执行下列程序段后,输出的结果是什么
for k1= 0 to 4
for k2=0 to 3
for k3= 0 to 2
麻烦些一下算的过程。谢谢
结果是19啦。
分析:因为你这个虽然是三重循环,内循环作的事情是每次在y上面累加3,而y在累加之前被重置为了10,所以不管外面套了多少层,最终相当于执行了一个3次内循环(k3=0 to 2),因此结果是10+3+3+3=19。
为什么y在累加之前被重置为10,具体解释一下,谢谢,你的答案很准确。二十没有用吗
因为每次进入
for k3= 0 to 2
循环之前都要执行一次y=10,所以在这里y被重置了,不管外面y被设置为了多少,这里执行完都回变为10,也就是外面的设置没用。
其他回答 (2)
因为k1,k2的最后一个循环,y先=20,运行到k2的最后一个循环y=10,k3的循环10加两次3
y=10+3+3+3
你把最后一次(for k3= 0 to 2)的y=10,然后循环三次y+3
你要知道他的运行过程,
k1是最外面的一个循环,K2是中间的循环,k3是最里面一层循环;
你想一下,当k1=4,k2=3,k3=0时y是等于多少,y=10;
然后K3循环完应该就到print y
为什么y在累加之前被重置为10,具体解释一下,谢谢,你的答案很准确。二十没有用吗
20有用,但你看一下20下面的语句,当k2=4时,执行一次Y=20;然后到for k2=0 to 3循环里,Y=20已经不会执行了,在for k2=0 to 3里面,当循环到最后一次K2=3时,Y=10;这是关键,这前给Y赋的值都无效了,Y就等于10了
再往下也不会执行y=20,y=10了,
再下去只会循环一下
for k3= 0 to 2
你算一下,Y=10,再执行三次y=y+3;然后就跳出三个循环,运行print y
不行你就设置断点,看他是怎么运行的,一步一步的查看
相关知识等待您来回答
编程领域专家以下程序输出结果是多少_百度知道
以下程序输出结果是多少
void main(){ static int ar[]={4,5,6};for(j=0;j&3;j++)printf(&%d\n&,*(ar+j));}
提问者采纳
提问者评价
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁以下C++程序里的Java++是什么意思?输出结果是~?_百度知道
以下C++程序里的Java++是什么意思?输出结果是~?
{double *basic, pascal[3];for (i = 0; i & 3; i++){pascal[i] = 6 / (i + 1);}Language(&basic, pascal[2], pascal);//Draw a diagram indicating the contents of memory at this point.}void Language(double **logo, int c, double java[]){*logo = new double [c];java++;*(java + 1) = 4;for (int i = 0; i & i++){java[i] = java[i] / 2;}(*logo)[1] = 7;**logo = 3.2;}
这个程序一定是对的……
提问者采纳
在C++里,数组的名是一个指针,维的是是普通指针,二维数组是下二重指针,多维的也一样.指针的大小是固定的,就是一个int的大小,可是在声明指针时要说明是什么型的指针,这不是说int *a;
long *a; __int64 *a;的大小不一样,你要是对上面三个用sizeof求一下全是等于sizeof(int)的,在我们常用的32位机里等于4可是在声明指针时为什么还要有类型呢,这不只是为了以后申请空间用的(在声明指针时时分配了4个字节),还有一个是用来做 ++ 运算的步长的,也就是 ++ 要后移动多少个字节,你这里是double,就是移动sizeof(double)个字节所以你的 java++就和 java[++i] 是一样的还有,你这个程序没有错,可是要是换个数就不一定也没错了,因为你这里用的指针太不安全了,很容易越界如果说是错就只是你申请的内存没有释放了这以后要注意回来说你的结果吧*logo = new double [c];
//分配两个doublejava++; //java指向java[1]*(java + 1) = 4; //java[2]=4for (int i = 0; i & i++) //这里你的C没有变,他已经传过来了,还是2,你的循环只能走两次{ java[i] = java[i] / 2; //这时你的java[0]指的是pascal的第二个元素,不要忘了你有过一次java++} (*logo)[1] = 7; **logo = 3.2; 所以最后,你有这么几个数pascal[3]; {6 ,1.5 ,2}*basic指了两个double 分别是 3.2和7 可是用完没有释放内存
提问者评价
好厉害~~谢谢~~~~~~
其他类似问题
java的相关知识
其他2条回答
程序错误java是一个1维数组名 java++相当与 java[1]因为java是一个指针。
java++,明显是错的,没什么可争论的。void Language(double **logo, int c, double java[]) 已经说明java个数组,数组名就相当于一个常指针。常量明显不能自加。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 有以下程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信