c 语言 此题怎么做~~

来源:百度知道 编辑:UC知道 时间:2024/05/09 15:53:31
36). 以下程序段的输出结果是__________。
main()
{ int i,j,k;
char
str[5];
for(i=0;i<5;i++)
str[i]='D';
k=4;
for
(i=0;i<k;i++)
for(j=0;j<k;j++)
str[j]=str[i]+32;

printf("%c\n",str[k]);

A B C D

D

语句:
for(i=0;i<5;i++) str[i]='D'; -- str[0],str[1]..str[4] 都是 D
k=4; -- k 当前值 为 4
for (i=0;i<k;i++) for(j=0;j<k;j++) str[j]=str[i]+32;
-- 不用管它双重循环做什么运算,i,j 只用到 3,
str[0],str[1]..str[3]变化,
但 str[4] 没变化。
printf("%c\n",str[k]); -- k 当前值 为 4
所以打出 D