3道c语言问题 求过程(最好详细点,谢谢)

3道c语言问题 求过程(最好详细点,谢谢),第1张

第一道: i=1时,判断i++<4就相当于i<4,i=i+1中间省略,当i=4的时候,判断i++<4相当于i<4,i=i+1,因为条件不成立,所以退出循环,但是i已经执行自加了,所以i=5,所以要注意的是i=i+1并不是必须i<4这个条件成立的时候才执行的

第二道:i='A',判断i<'I',成立执行第一个printf,但因为没有加括号,for的作用域只有一行,所以第二个printf不会被执行,所以输出a;第二次循环,第三次,直到每四次,i++,i++过后,i='I',所以不执行了,所以最后输出的是一个换行,楼主可以在这段程序代码后面加一句printf("");如果接在aceg后面,那就是我说错了反之则是对的

第三道:这个程序的实质是这样的,求所有50以内的5和3的最小公倍数的和也就是15,30,45,加起来等于90,再加上s本身等于1,所以等于91,因为只有等于5和3的倍数的时候,条件!(i%5)&&!(i%3)才会成立也就是说i%5==0并且i%3==0的时候条件才成立

DA1 DB„ABCDEFGHI‟   

应该是:

DA1 DB "ABCDEFGHI" ;吧,就是定义A-I这7个字符

计算机中,'A'的ASCII码值是41H,'1'的ASCII码值31H,

所以SUB AL,10H,就是把'A'变成'1';

而BCDEFGHI这8个字符,都是依次比前一个字符大1(按字每表顺序),'23456789'也是这样。

所以依次sub 10h后,就变成了'123456789'。

数组是从0开始的 循环中i和j最大应该是25,而且你的两个for循环中间加printf("%c",a[i]; 那个是做什么用的啊?改后是这样的 你对照下

#include <stdioh>

void main()

{

char a[]="abcdefghijklmnopqrtuvwxyz";

int i,j;

for(i=25;i>=0;i--)

{

for(j=0;j<=25-i;j++)

printf("%c",a[j]);

printf("\n");

}

}

#include <stdioh>

#include <stringh>

int main()

{

char a[10] = "abcde",b[8]= "fghi";

strcpy(a+3,b+1);

printf("%s %d ",a,strlen(a));

}

abcghi 6

a=a[0]

b=a[1]

c=a[2]

d=a[3]

e=a[4]

\0 = a[5]

f=b[0]

g=b[1]

h=b[2]

i=b[3]

\0=b[4]

strcpy(a+3,b+1);

a[0]+3 = b[0]+1 =>a[3] = b[1]=>

a=a[0]

b=a[1]

c=a[2]

d=a[3] => g=b[1]

e=a[4] => h=b[2]

\0 = a[5] => i=b[3]

=a[6] => \0=b[4]

strlen("abcghi") =6

# include <stdioh>

main()

{

int i,j;

for(i=0;i<10;i++)

{

for(j=0;j<2i+1;j++)

{

printf("%c",65+j);

}

printf("\n");

}

}

应该能看得懂吧,不懂再追问~~

以上就是关于3道c语言问题 求过程(最好详细点,谢谢)全部的内容,包括:3道c语言问题 求过程(最好详细点,谢谢)、汇编程序,急!、请大家给我指正一下这个C程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10127530.html

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

发表评论

登录后才能评论

评论列表(0条)

保存