-
问题 1:结果是 111
如果你想把它们分开,你应该写。
printf("%d ",x);在末尾添加一个空格,你们之间就会被一个空格隔开。
printf("%d",x);它是一个转义字符,表示回车符,加法由回车符分隔。
问题2:子函数的功能是交换两个参数的值,但是因为输入不是指针,所以交换的结果没有带出来。
sub(x3,x4);执行后,x3 和 x4 仍然是相同的值,x1 = 10(因为 x1 和 x2 是全局变量,并且这些值对整个程序有效)。
sub(x2,x1);由于 x1 作为交易所的中间变量,所以不是简单的交易所,x1 的值被赋值为 40,所以 x1 和 x2 的值在执行完成后都是 40
-
printf("%d",x);
这不进车,,印不包!!
全局变量在所有程序中都有效,因此
-
问题 1: 下面的程序运行,结果为 1:
main()
increment();
increment();
increment();
increment()
int x=0;
x+=1;printf("%d",x);
有 3 个连续的 increment();s 在您的主要功能中程序就是我们所说的顺序执行,当第一个被执行时,第二个被执行,当第二个被执行时,第一个的编号被带到第二个,依此类推,......;在实践中,这不是程序的执行方式......遇险希望得到高层人士的指导。
问题 2:以下程序的结果是:
int x1=30,x2=40;
main()
int x3=10,x4=20;
sub(x3,x4);
sub(x2,x1);
printf("%d,%d,%d,%d",x3,x4,x1,x2);
sub(int x,int y)
x1=x;x=y;y=x1;
我用 keil c51 验证,这个程序不输出 x1、x2 值,为什么?
看完上面的大师,为什么不能用Keil C51验证你说的情况?
我应该如何使用 Keil C51 进行设置?看看你在说什么?
-
第一个问题很简单,你使用的是 printf 而不是 printfln,所以没有换行符,你的 printf("%d",x);"%d"如果更改为"%d,"然后,如果出现以下情况,则每个都将用逗号分隔,"%d"成为"%d ",则每个输出之间将有空格。
第二个问题,我不明白你的"sub(x3,x4) 正确"这是什么意思,是不是两个值没有互换,如果是这样,我理解正确。
x1,x2 是全局变量,所以当 sub(x3,x4) x1=x; 此时 x=x3,所以 x1=10
然后,sub(x2,x1); 在这种情况下,x=x2,所以x1=20;
实际上,只要多一点时间,你也可以看到它。
祝你学习顺利!
-
1:你必须添加。
2:x1、x2 是全局变量。
首先,回答第一个问题:这是你的犯规,因为对手是持球人,而你正在冲过高速上篮,你没有自己的位置,即使你被击倒,你也不知道自己要去哪里,所以这是你的问题。 >>>More