c语言 问题 这个程序的输出结果是什么 答案是55555 求详细解答

Python011

c语言 问题 这个程序的输出结果是什么 答案是55555 求详细解答,第1张

第一句int*p=a+3 说明 p = &a[3]=7

1.

当j = 3时

进入case 3:*(--p) = 5,所以输出一个5(第一个5),此时p指向了a[2] = 5

2

当j = 2时

进入case 2:注意这里*(p++),是先打印*p =5,p再++,所以,打印一个5(第二个5),然后p++,p指向了7

注意了!case2:后面没有break所以继续向下运行进入case3,打印*(--p),这时--p,p指向5,然后再打印5(第三个5)

3.

当j=1时,进入case1

因为case1没有break,所以又进入case2:

此时因为p指向了5,所以打印5(第四个5),然h后p++,p指向了7

因为没有break;所以进入case3

*(--p),是p先-,然后再打印,p先指向了5,再打印了5(第五个5)

按问题中的方式输出,需要两个for循环结构,外层循环负责1……2……3这样的数字循环,内层循环,负责输出几个1、几个2。

#include <stdio.h>

int main()

for (int i=1 i<=5 ++i) 

{

for (int j=0 j!=i ++j) printf("%d", i)

printf(" ")

}

printf("\n")

return 0

}

#include<stdio.h>

#define N 5

#define X (i+1)

void main() { int i,j

for ( i=0i<Ni++ ) {

for ( j=0j<Xj++ ) printf("%d",i+1)

printf("\n")

}

}