标题:看《C语言大全》遇到了问题,求指教
只看楼主
loveufaith
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-4-17
结帖率:0
已结贴  问题点数:20 回复次数:2 
看《C语言大全》遇到了问题,求指教
void display_array(int *q[])
{
    int t;
   
    for(t=0;t<10;t++)
        printf("%d",*q[t]);
}
这个对么?我将其修改后放在main里输出时程序崩溃,把“*q[t]”改为“q[t]”时可以正常输出。这是《C语言大全上的》。

void syntax_error(int num)
{
    static char *err[]={
        "Cannot Open File\n",
        "Read Error\n",
        "Write Error\n",
        "Media Failure\n"
        }
    printf("%s",err[num]);
}
这个也是《C语言大全》里的,有没有问题?“*err[]”不是一个数组指针么?里面放的不应该是指针么?为什么是字符串?再就是“printf”里为什么没有“*”?
搜索更多相关主题的帖子: C语言 Media 
2015-04-17 20:28
无功
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:168
注 册:2015-4-12
得分:10 
*error[]是指针数组,%s输出字符串时,printf函数输出项是字符的地址,error[]里面放的是指针即地址,所以不用*
2015-04-18 13:51
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
得分:10 
这个也是《C语言大全》里的,有没有问题?“*err[]”不是一个数组指针么?里面放的不应该是指针么?为什么是字符串?再就是“printf”里为什么没有“*”?

[]优先级大于*。
所以:char *err[]是一个指针数组,也就是说这个数组里面的元素是指针。

数组指针是像这样的:char (*p)[]

你醒了?快起来敲代码!!
2015-04-19 16:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444153-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112772 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved