#include<stdio.h> int main(){ int a[4],i,*p; p=a; for(i=0;i<4;i++) {scanf("%d",p++); printf("%d",*p);} return 0; } 啥错误
时间: 2023-06-20 22:07:24 浏览: 38
代码中有一个问题:在输入数字后,您使用了 `p++` 来递增指针 `p`,这将使指针指向下一个位置。因此,在打印数组元素时,您实际上输出了未定义的值。应该将 `printf("%d",*p);` 改为 `printf("%d",*(p-1));`,以便正确输出数组中的所有元素。另外,您需要在 `scanf("%d",p++);` 语句最后添加一个分号。下面是修改后的代码:
```
#include <stdio.h>
int main() {
int a[4], i, *p;
p = a;
for (i = 0; i < 4; i++) {
scanf("%d", p++);
}
p = a;
for (i = 0; i < 4; i++) {
printf("%d ", *(p++));
}
return 0;
}
```
相关问题
#include <stdio.h> #include <math.h> int main() { int a
#include <stdio.h> 是一个C语言的头文件,它包含了一些输入输出函数的声明,比如printf和scanf等。而#include <math.h> 是一个数学库的头文件,它包含了一些数学函数的声明,比如sqrt和sin等。
在你给出的代码中,int main() 是程序的入口函数,它表示程序从这里开始执行。在main函数中,定义了一个整型变量a,但是没有给它赋初值。
如果你想要使用printf函数来输出一些信息,可以在main函数中添加代码,比如:
int main()
{
int a = 10;
printf("a的值是:%d\n", a);
return 0;
}
这样就可以输出a的值为10。你可以根据需要修改a的值和输出的格式。
* *** ***** ******* ***** *** * #include<stdio.h> main() int+i,j: f
这是一个打印星号图案的C语言程序。程序主要部分如下:
```c
#include<stdio.h>
int main() {
int i, j;
for(i=1; i<=4; i++) {
for(j=1; j<=2*i-1; j++) {
printf("*");
}
printf("\n");
}
for(i=3; i>=1; i--) {
for(j=1; j<=2*i-1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
这段程序使用了两个嵌套的循环来打印出指定的图案。第一个循环用于打印上半部分的图案,第二个循环用于打印下半部分的图案。