C语言高手救命。。。在线等。。急急急

来源:百度知道 编辑:UC知道 时间:2024/05/11 02:52:13
从键盘上输入一个数字组成的字符串(字符串长度小于8)
将该字符串转换为一个十进制数
例如:从键盘上输入12345,则程序运行的结果应当为:n=12345
请填空
#include "stdio.h"
#include "string.h"
void main()
{ char s[10]; int i;
long int n;
//clrscr();
/**************found************/
___(1)___;
scanf("%s",s);
for(i=0;i<strlen(s);i++)
/**************found************/
n=n*10+___(2)___;
printf("n=%ld\n",n);
}

在(1)(2)中填空。。谢谢

n=0
int(s[i]-'0')

第一个错了,s[j]是那个字符对应的ASCII码值,不是你输入的数字的值。2、3楼两位均是正解!

#include "stdio.h"
#include "string.h"
void main()
{ char s[10]; int i;
long int n;
//clrscr();
/**************found************/
_printf("请输入一个数字组成的字符串(字符串长度小于8):")__;
scanf("%s",s);
for(i=0;i<strlen(s);i++)
/**************found************/
n=n*10+___(int)s[i]__;
printf("n=%ld\n",n);
}

1 n=0
2 s[i]-48

1) n = 0;
20 n = n * 10 + atoi(s[i]);

n=0
s[i]-'0'