问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言:不能将“int **”类型的值分配到“int”类型实体

发布网友 发布时间:2023-10-05 22:46

我来回答

4个回答

热心网友 时间:2024-11-06 02:51

这是一条编译错误提示。
代表在代码中,把一个int**类型的值,赋值给了int类型的变量。
类似于
int v;
int *p = &v;
然后做了
v = &p;
这样的操作。

类似操作,大多数是误写,本来要写
p=&v;
但是写成了
v=&p;
针对修改即可。

如果确定要把int**值赋值给int,可以采用
v=(int)&p;
的方式。
不过需要注意的是,在16位和32位系统中,可以完整保存地址值,但是在64位系统中,int**占8字节,而int占4字节,该操作会导致信息丢失。

热心网友 时间:2024-11-06 02:52

#include<stdio.h>
#include<stdlib.h>
//void maxnum(int n,int *p[]) //这句要改成下边这个样子。函数返回的应该是数组最大值
int maxnum(int n,int *p)
{
    int max;
    int i,j,temp;
    max=*p; //我增加的,先保存一下最大值。
    for(i=0;i<n;i++) //修改了一下。
//    for(j=i+1;j<n;j++) //这句要去掉,因为是一维数组,没必要两重循环
    {
        if(*(p+i)>max)
        {
//            temp=p+i;
//            p+i=p+j;
//            p+j=temp;
            max=*(p+i); //改成这个样子
        }

    }
    return max;  //我增加的
}
int main()
{
    int num[50];
    int i,j,n,*p;
    printf("How many number you will input:");
    scanf("%d",&n);
    //这儿要加上一个判断,如果用户输入100,比你预留的50个空间大怎么办?
    if (i<1||i>50) {
        n=50;
    }

    for(i=0;i<n;i++)
        scanf("%d",&num[i]);
//    p=num[0]; //改成下边的样子
    p=num;
//    maxnum(int n,int *p); //去掉
//    printf("%d",num[i]);  //去掉
//    printf("The max number is:%d",num[n-1]; //改成如下样子
    printf("The max number is:%d",maxnum(n,p));

    system("pause");
}

追问

这个怎么办?还有为什么要让max=*p?还有为什么在主函数中可以直接写p=num,而在maxnum函数就都必须写*号?

追答//上边那段程序在CB下编译没有问题,下边这段程序在gcc上编译没有问题。
//你用的是什么编译器?
//从提示上来看,明显是参数类型不一致,你是完全复制我的程序吗?
#include<stdio.h>
#include<stdlib.h>
//void maxnum(int n,int *p[]) //这句要改成下边这个样子。函数返回的应该是数组最大值
int maxnum(int n,int *p)
{
    int max;
    int i,j,temp;
    max=*p; //我增加的,先保存一下最大值。
    for(i=0;i<n;i++) //修改了一下。
//    for(j=i+1;j<n;j++) //这句要去掉,因为是一维数组,没必要两重循环
    {
        if(*(p+i)>max)
        {
//            temp=p+i;
//            p+i=p+j;
//            p+j=temp;
            max=*(p+i); //改成这个样子
        }
 
    }
    return max;  //我增加的
}
int main()
{
    int num[50];
    int i,j,n,*p;
    printf("How many number you will input:");
    scanf("%d",&n);
    //这儿要加上一个判断,如果用户输入100,比你预留的50个空间大怎么办?
    if (n<1||n>50) {  //原程序这儿有一个错误 
        n=50;
    }
 
    for(i=0;i<n;i++)
        scanf("%d",&num[i]);
//    p=num[0]; //改成下边的样子
    p=num;
//    maxnum(int n,int *p); //去掉
//    printf("%d",num[i]);  //去掉
//    printf("The max number is:%d",num[n-1]; //改成如下样子
    printf("The max number is:%d",maxnum(n,p));
 
    system("pause");
}

热心网友 时间:2024-11-06 02:52

#include <stdio.h>

int maxnum(int n, int *p)
{
int i, max = *p;
for (i = 0; i < n; i++)
max = max > *(p+i) ? max : *(p+i);

return max;
}

int main(int argc, char *argv[])
{       
int num[50];
int i, j, n, *p;
printf("how many numbers you will input:");
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &num[i]);
p = num;
printf("The max number is:%d\n", maxnum(n, p));
//system("pause");

return 0;
}

热心网友 时间:2024-11-06 02:53

错的有点多啊
int maxnum(int n, int*p)
{
int max, i;
for(i=1, max=p[0];i<n;i++)
if(p[i]>max) max=p[i];
return(max);
}

void main(void)
{
...

printf("The max number is:%d", maxnum(n, num);
system("pause");
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...里无线路由器组网遇到问题啦 anywlan 恩山论坛的大虾来啊 小微时贷投资项目怎么样? 小微时贷理财到底好不好?谁能告诉我? 小微时贷口碑如何?好吗? 在小微时贷投资理财安全吗? 小微时贷投资理财风险高吗? 微时贷是什么意思 小微时贷理财平台怎么样?有知道的吗 小微时贷是个什么模式 产后骨盆修复的意义是什么呢?方法有哪些呢? 我家是电信的网络,现在只有一个猫,电脑是台式机,家里有wif...3 黄子韬的老婆是谁要真实答案312 单亲孩子怎么写关于父亲的作文 这种蓝屏是怎么回事 黄子韬为何被成龙等人实力的支持? 求一部电影:讲的是女主角经常做同一个梦,梦见自己在一个房间里...9 昨天做了个梦,梦见了一段平常的家庭生活,但梦里的老婆不是自己... ...隔几天上课,不过他们有实体店,能信吗,家也不顾,,孩子也不管_百度知 ... 如何安装无线路由器,我家有猫、台式机。我想安装无线路由器用手...51 女人梦见蛇的预兆534 求一篇关于爱的作文6 ...是什么东西啊 手机来不来就内存不足就要清理怎么回事啊 我家是网通宽带 带猫的那种 一直在用路由器 我家有两台台式电...1 cf中的天龙和普通的awm有区别大吗 值得买吗 我觉得花狙没...5 黄子韬爸爸黄忠东真的有200亿吗 爸爸谈儿子受关注2 穿越火线大炮好还是AWM-A好?2 梦见被蛇追是什么意思?547 大连理工大学的对外汉语方向的研究生18 推荐一个手机iOS上的音乐游戏。要比较有趣的!7 电脑蓝屏了,不知道怎么回事,重启也不行。 执法公正包括( ) A.实体公正 B.程序公正 C.事实公正 D.法律公正_百度知... 我想在超市或网上买个斯伯丁篮球,看中了一款篮球74211、64282、64288... ...重启没用多久又蓝屏了,大神们帮忙看看怎么回事啊? 电脑一直蓝屏蓝屏 ,用了一个月不到一直出蓝屏。怎么回事? 不知道怎么回事照片在手机管家的空间管理的音视频和照片里面,不能移动... 十堰仲裁委员发的立案通知书真的还是假的 俩人把“ 枪 ”和“ 鞭“ 放在门墩上,各自虎势儿一站,公鸡...16 可不可以买小米充电器代替魅族充电器5 小米1电信版支持otg线吗 &quot;俩人把枪和鞭放在门墩上,各自虎势儿一站,公鸡牵架似的对起阵...67 请问小米1电信版支持OTG吗? WIN7系统关机时出现:0xffffffff指令引用的0xf...4 “公鸡鹐架似的对起阵来”是比喻句吗8 win10开机后这样的画面,进不去 脑血栓每天喝点三七粉好吗 车的年检是2020年12月5号到期,我2021年1月审车可以...3 台式电脑没有网线怎么连接wifi2996 防城港市防城区农村信用合作联社东门分社怎么样? 一般买魅族手机原装充电器多少钱?????6 行驶证上面是2021,1月年审,123123查是到2022年...15