字符型转换成长整形

来源:百度知道 编辑:UC知道 时间:2024/07/07 01:18:18
#include<stdio.h>
#include<string.h>
int atoi(const char *nptr);
void main(void)
{
char str[100];
int a;
printf("请输入字符串");
gets(str);
a=atoi(str);
printf("%d",a);
getch();
}
int atoi(const char *nptr)
{
int s=0,i=0;
while(*(nptr+i)!='\0')
{
s=s+*(nptr+i);
i++;
}
return s;
}

这个代码的原理是什么,是不是因为const char *nptr?请讲清楚

楼主你怎么一点不长脑子。。我之前就告诉过你 你的提问语法不通。。

你自己读读自己的问题,也许你自己是很清楚自己在说什么吧,但是别人明白吗?好,现在我给你一堆代码,我问你代码的原理,是不是因为int a?你能回答么?什么叫代码的原理?代码有原理么?如果说这个代码用了一个算法,这个算法很不直观,但却是正确的,那你可以问这个算法的执行原理。你现在随便搞一堆代码,就提什么原理,不很莫名么?再说后面那句话,和前面有因果关系么?你听说过什么某个代码的原理是一个参数声明?你可以说我可以传一个字符串作为参数 是因为这个函数有一个const char*的参数,虽然这样说很基础,但好歹是有意义的,你现在这样问法有意义么?

好了,现在来说你具体的问题。你贴的程序的意思是读入一个字符串,按照某种规则转换成整数,然后打印出来。我不知道你要问什么原理,如果说是atoi函数的原理,那说实话没有任何原理,这段代码怎么写都可以。请问这段代码是干什么的?这段代码的本意,或者题目要求是什么?你告诉我们了么?如果你什么都不说,那我是不是随便乱写都可以?还有什么原理可讲?你的标题是“字符串转成长整形”,试问,这里何来长整形?即便是把字符串转成int,你跑过这个程序么?如果输入123会输出什么?在我机器上结果是150,你确定是正确的答案么?

你上次补充提问了,但是不等我第二天来补充回答,你就关闭了问题,还真是心急啊 = =!新开一个问题也就算了,还不吸取教训。。今天我说的有点多,希望你能补充出一个像样点的问题来,你自己也不希望没人能看懂你的提问吧