C语言题目 1.下面程序的运行结果是( )

C语言题目 1.下面程序的运行结果是( ),第1张

其中有不少小的错误,作为程序它是不能运行的。

#include<stdioh>

int main( )

{ int y=2,a=1;

while(y--!=-1)

{ do{a =y; a++;} while(y--); }

printf("%d,%d",a,y);

return 0;

}

运行后的输出是:

1,-2

分析运行过程:

y=2,a=1;

判断,为真,y变为1

进入do循环:

a=11=1; a++变为2

内循环判断y--为真,y变为0;

再次内循环:

a=20=0; a++变为1

内循环判断y--为假,y变为-1;

外循环判断为假,y变为-2;

所以,最后的输出是1,-2

这道题真的是这样的么?

如果真的是这样的,那么答案没有一个是正确的呢。

void main()

{

char a[]=“morning”,t;

int i,j=0;

for(i=1;i<7;i++)

if(a[j]<a[i]) // 如果发现a[i]比a[j]大,则,在j中保存发现的更大的字符的下标

j=i;

// 上面这个循环,作用是找到字符串中ASCII码值最大的那个字符的下标

t=a[j];

a[j]=a[7];

a[7]=a[j];

// 关键是这里的a[7]

// a数组的下标为7的元素应该是“0结束标志”啊

// m o r n i n g \0

// 0 1 2 3 4 5 6 7

// 现在把下标为7的"0结束标志“和字母o进行交换,那么结果是

// m \0 r n i n g o

puts(a);

// 那么输出结果应该是m

// 因为,C语言对于字符串的处理原则是:遇0则止

}

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存