你好
2解释每一步的运行过程:
#include <stdioh>
void main()
{
int y, a ;
y=2, a=1;
while (y--!=-1)
{
do{
a=y ;
a++ ;
} while(y--);
}
printf("%d,%d\n",a,y);
}
从y=2,a=1开始哈
(首先我们要知道后自减y--型的返回值是y自减前的值 例如y=2 y--就返回2)
进入while循环
y--返回2 不等于-1 (此时y=1)
于是循环继续进入do while循环
执行a=y;a++后
a=2 y=1
y--返回1 是非零 于是do while循环继续进行 (此时y=0)
执行a=y;a++后
a=1 y=0
y--返回0 于是do while循环终止 (此时y=-1)
再判断while的循环条件: y--返回-1 于是while循环终止 此时y=-2
(讲的比较多 希望楼主能理解了)
结果如下:
3579
解释:开头声明了一个函数fun2,在主程序中声明了变量i,用for循环语句,初始化i=0,然后执行一次函数fun2,然后i+1,并判断i是否依然小于4,第一次循环i=0,第二次i=1,第三次i=2,第四次i=3,第五次i=4,因为不小于4,所以跳出语句,程序运行完成。共循环四次。
函数fun2中,声明了一个静态变量a并赋值1。每次运行该函数a都会加2,并打印a。故会得出以上的运行结果。
另外因为此段代码中有字符为中文符号,将无法编译;且因为运行完会自动关闭,故修改为:
#include <stdioh>void fun2()
{
static int a=1;
a=a+2;
printf("%d\n",a);
}
int main()
{
int i;
for(i=0;i<4;i++) fun2();
getchar();
}
截图:
回车后程序运行结束并关闭。注:为了更直观的显示因此添加了换行符。
望采纳!
这里最主要的问题在于对while (a[i++]!='\0') b[i]=a[i];这句话没有理解清楚。strcat(a,b)所以:a="ABLMNP"; b=“LMNP”
while (a[i++]!='\0') i=0表达式i++=0判断a[0]!='\0'后,i自增1,即i=1;所以进入循环体执行b[i]=a[i]时,i=1的,b[1]=a[1]='B';b[0]的值并未改变,b[0]=L;
因此将a[i]后面的值赋给b[i],所以结束的时候b="LBLMNP"。//
while (a[i]!='\0')
{
b[i]=a[i];
i++;
}
改成这样就是"ABLMNP"
public class ex20
{
public static void main(String[] args) {
double d=0;
int a=3;
while (a>0) //第一次循环开始a为3条件成立
{
d=d+10f/a; //第一次循环是d为0然后把10f/a的值加上d的值作为d的值,后面再次循环的时候d的值就是d加上10f/a
if(d<=2) 第一次循环d为0+10f/a的值小于2成立
continue;第一次循环再次循环下面语句不执行
a--; //只有当d>2的时候a--才会执行。a--相当于a=a-a;
}
Systemoutprintln(d);
}
}
其实这里d输出因是35000000596046448
这样的话在答案里面就选择b
以上就是关于c语言中,下面程序的运行结果是全部的内容,包括:c语言中,下面程序的运行结果是、C语言,下面程序的运行结果是、下面程序的运行结果是。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)