| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11107 人关注过本帖
标题:[求助]'int *' differs in levels of indirection from 'int ' 的警告
取消只看楼主 加入收藏
lqcheng
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-8-18
结帖率:100%
收藏
 问题点数:0 回复次数:3 
[求助]'int *' differs in levels of indirection from 'int ' 的警告

#include<stdio.h>
int main(void){
int n,m,a[1000]; /*用a【】存放结果*/
int check(int *p);

for(n=0;n<1000;n++){
a[n]=0;
} /*给a[]赋值*/
for(n=1,a[0]=1;n<=40;n++){
for(m=0;m<1000;m++){
a[m]*=n;
} /*循环,依次相乘*/
for(m=0;m<1000;m++){
check(a[m]); /*逢十进一*/
}
}
for(m=999;m>=0;m--){
printf("%d",a[m]);
}
return 0;
}
int check(int *p){
int jin;
if(*p>=10){
jin=*p%10;
*p-=jin*10;
*(p+1)+=jin;
check(*(p+1));
}
return 0;
}

vc++编译 有四个警告
F:\c\jicheng2.c(14) : warning C4047: 'function' : 'int *' differs in levels of indirection from 'int '
F:\c\jicheng2.c(14) : warning C4024: 'check' : different types for formal and actual parameter 1
F:\c\jicheng2.c(28) : warning C4047: 'function' : 'int *' differs in levels of indirection from 'int '
F:\c\jicheng2.c(28) : warning C4024: 'check' : different types for formal and actual parameter 1
怎么解决?

搜索更多相关主题的帖子: int differs indirection levels 警告 
2007-10-20 23:11
lqcheng
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-8-18
收藏
得分:0 
呵呵明白了  谢谢大家了
2007-10-21 12:45
lqcheng
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-8-18
收藏
得分:0 
for(n=1,a[0]=1;n<=40;n++){
for(m=0;m<1000;m++){
a[m]*=n;
}
for(m=0;m<1000;m++){
check(&a[m]);
}
}


a【m】不是地址吗?为什么非得加上&才能没有警告?
而且运行结果也不对,程序哪里有错?
2007-10-21 12:53
lqcheng
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-8-18
收藏
得分:0 

scanf("%d",a[m]); 不是就不用写成scanf("%d",&a[m]); 吗?

2007-10-21 12:57
快速回复:[求助]'int *' differs in levels of indirection from 'int ' 的警告
数据加载中...
 
   



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

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