改错
#include <stdio.h>
void main() {
//程序完成以下功能主函数完成数组的初始化操作
//函数完成数组元素逐个输出操作,p为指针变量
int a[10] = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
output(a, 10);
}
void output(int b, int n)
{
int n;
int* p;
for (p = &b; p < (b + 10); p++)
printf("%d", p);
}
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2075 “a”: 初始化需要带括号的初始值设定项列表
消息 lnt-uninitialized-local 未初始化本地变量。 11
警告 C4013 “output”未定义;假设外部返回 int 5
错误 C2371 “output”: 重定义;不同的基类型 7
错误 C2082 形参“n”的重定义 C语言 9
警告 C4047 “<”:“int *”与“int”的间接级别不同 11
警告 C4477 “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“int *”
警告 C4313 “printf”: 格式字符串中的“%d”与“int *”类型的参数 1 冲突 C语言
int=output(增加报错了)
程序完成以下功能主函数完成数组的初始化操作
output函数完成数组元素逐个输出操作,p为指针变量
根据你代码修改的:
#include <stdio.h>
void output(unsigned long long b, int n)
{
int* p;
for (p = (int *)b; p < (int*)b + n; p++)
printf("%d ", *p);
}
void main() {
//程序完成以下功能主函数完成数组的初始化操作
//函数完成数组元素逐个输出操作,p为指针变量
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
output((unsigned long long)&a, 10);
}
```c
#include <stdio.h>
void output(int *a, int n)
{
for (int i = 0; i < n; ++i)
printf("%d", *(a + i));
}
int main(int argc, char *argv[]) {
//程序完成以下功能主函数完成数组的初始化操作
//函数完成数组元素逐个输出操作,p为指针变量
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = sizeof(a) / sizeof(a[0]);
output(a, n);
}