找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 74|回复: 0

检测点8-12

[复制链接]

620

主题

336

回帖

1057

积分

管理员

积分
1057
发表于 2026-3-7 19:39:44 | 显示全部楼层 |阅读模式
检测点8-12

1.修改源文件c0813.c,将对象a的声明改成这样:
int a [] = {5, 6, 7,};
编译修改后的程序,看看编译时会出现什么问题,并解释原因。
答:提示类型不兼容。原因是sum_ints函数要求一个指向int [5]的指针,而传递的是指向int [3]的指针。

2.若print_ints函数的返回类型是void,且它有一个类型为int (*) [5]的形参p。该函数的功能是打印形参p所指向的那个数组的所有元素的值。请给出这个函数的定义并编写一个完整的程序来测试它。
参考答案:
void print_ints (int (* p) [5])
{
    for (int x = 0; x < sizeof * p / sizeof (* p) [0]; x ++)
        printf ("%10d", (* p) [x]);
}

int main (void)
{
    int a [] = {5, 6, 7, 8, 9};
    print_ints (& a);
}

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2026-3-30 16:15 , Processed in 0.239349 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表