下面程序的运行结果是()

下面程序的运行结果是(),第1张

我觉得你的程序是错的,我运行时发现它果然是错的,你的程序在运行到strcat(p1,p2)就有问题了,拼接字符串时要保证第一个串有足够的空间保存拼接后的串。把 char p1; p1="abc";改成char p1[7]="abc";就可以运行了,结果输出为aabcabc,str指向“abc”中的a,str+1就指a后面的b,strcpy(str+1,strcat(p1,p2)); 把p1,p2拼接后拷到str+1位置,也就是a后面所以str就变成“aabcabc”

这个应该好理解啊,

首先注意x++和++x的区别,x++是本次先用其原值,用完后马上自加1。++x是先自加1,再用它自加后的值。

另外要明白,编译器肯定执行了"if(x++>5)"这一句,此时x=5,但判断后为假,所以if后面printf语句是不执行的,判断后为假后,还干了一件事,那就是x++(因为本身if语句是执行了的),此时x=6

刚才if判断是假,肯定会执行else语句,++x指的是先要对变量x进行自加1,然后才会printf。

因此,最终结果是x=7

悉知!

结果如下:

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();

}

截图:

回车后程序运行结束并关闭。注:为了更直观的显示因此添加了换行符。

望采纳!

char ch[7]={"12ab56"}; 意思是把12ab56七个字符分别赋值到数组ch[0],ch[1]ch[6]中。

for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2) 意思是从i=0开始,如果ch[i]大于等于字符‘0’且小于字符‘9’(可以由ASCII码将字符转换为十进制数来计算)那么i=i+2,否者终止循环。字符‘0’ASCII码为48,字符‘9’ASCII码为57;

ch[0]=字符'1'ASCII码为49,所以ch[0]满足大于等于字符‘0’且小于字符‘9’,执行s=10s+ch[0]-'0'=100+49-48=1(全部转化为十进制运算);

i=i+2=2;

ch[2]=字符‘a’ASCII码为97不满足条件,循环结束执行printf("%d\n",s); ,%d表示输出的为十进制整形数字,s=1,所以运行结果为1

以上就是关于下面程序的运行结果是()全部的内容,包括:下面程序的运行结果是()、5. 下面程序运行结果是 。、C语言,下面程序的运行结果是等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9275790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存