日常解题输入一串不知长度的数字的

too many arguments to function 'getchar’和怎样输入一串不知长度的数字和 assignment makes pointer from integer without a cast

too many arguments to function ‘getchar’

今天碰到一道不严谨的题目,要求输入一串不知长度的数字
题目如下:
2.将n个数从小到大排列,要求在输入一个数,把它插到数列中,使数列仍然有序,并输
出新的数列。
input:1 2 7 5 9 0
output:0 1 2 5 7 9
insert:3
output:0 1 2 3 5 7 9
我第一次想用getchar()每读一个字符判断字符是否为空或‘\n’

代码如下:
for( ; ; )
{… …
char a;
getchar(a);
… …}
结果报错:too many arguments to function ‘getchar’
原来是getchar()函数用法错误,应改为
a=getchar();

怎样输入一串不知长度的数字

第二次我直接用了gets()函数,比较方便
代码如下:
gets(l);
for(int q = 0;q < strlen(l);q++) {
if (l[q] == ’ ') {
}
else {
a[i] = l[q] - ‘0’;
i++;
}
}

assignment makes pointer from integer without a cast

后来又遇到这个警告:assignment makes pointer from integer without a cast

1.可能是调用函数时没有原型声明
需要添加头文件
2.可能是数组下表漏了
需要补回下标
3.可能是函数返回值和被赋值变量类型不统一
可以用制类型装换

最后建议不要用一些不熟的函数,不然很可能报一些很奇怪的错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值