这么简单的题目我也不会做啊!
题目:将一个带正负号的数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串“—1234”,则函数把它转换为整数值—1234
char s[8];
int t=0,i=0,flag=1;
gets(s);
if(s[0]=='+'||s[0]=='-')
{if(s[0]=='-')flag=-flag;
i++;}
while(s[i]!='\0')
t=t*10+s[i]-'0';
printf("%d",t);
以上是假设你没有输入错误
谢谢!但是我还是没有运行出来!请帮我检查一下原因吗?
不好意思,写的匆忙漏了一点,以下经过编译的
#include <stdio.h> void main() { char s[8];
{ t=t*10+s[i]-'0';i++;}
printf("%d",t*flag);
}