课后作业,实现atio函数功能
#include<stdio.h>int main()
{
char a;
printf("请输入带转换的数据:");
int ch;
int i=0;
while((ch=getchar())!='\n')
{
if(ch>=0&&ch<=9)
{
a=ch;
}
else
{
if(a!=NULL)
break;
}
}
a='\n';
printf("结果是:%s",a)
}
问题出在哪? 你要将字符数字转换为整形数字 那你应该char ch 并且判断ch是否在字符0-9之间 82457097 发表于 2019-4-11 10:03
你要将字符数字转换为整形数字 那你应该char ch 并且判断ch是否在字符0-9之间
不是getchar()返回的是整形,所以必须要用int声明ch吗。 82457097 发表于 2019-4-11 10:03
你要将字符数字转换为整形数字 那你应该char ch 并且判断ch是否在字符0-9之间
而且我改成了
char ch;
if(ch>='0&&ch<='9'')
还是不行 另外一只小菜鸟 发表于 2019-4-11 10:44
而且我改成了
char ch;
if(ch>='0&&ch
我的意思是你不是要实现atio函数吗 那个是将字符串数字转换为整形字符串 你用一个char数组接收 然后输出字符串 结果跟atio函数正好相反 atoi? 实现函数的功能。。编个函数就行了吧,完全不需要getchar吧#include <stdio.h>
int atoi2(char* sz){
int ret=0;
int flg=1;
if (*sz=='-'){
flg=-1;
++sz;
}
while (*sz>='0' && *sz<='9'){
ret*=10;
ret+=*sz-'0';
sz++;
}
ret*=flg;
return ret;
}
页:
[1]