c语言 字符串转换成整型(我是菜鸟请简单一些!谢谢!)

来源:百度知道 编辑:UC知道 时间:2024/05/30 10:41:31
用%s控制输入一个字符串,将其转换为整形数并用%d输出。例如输入字符串“123”,输出整数123.
#include<stdio.h>
void main()
{
printf("请输入字符串:\n");
char a[100];
int b;
scanf("%s",&a);
printf("\n%d",(int)a);
}
有什么错!
实在对不起了!我们还没学这么难的东西,你们说的都很好,可是我还没学,看不懂atoi和memset的之类的,只会循环语句之类的简单东西!

a是一个字符串数组
直接通过(int)a得不到你输入的值
你输入的值是一个一个的赋值到字符串数组的 比如说 12
其中a[0] =1
a[1]=2; a[2]='\0' 其中'\0'代表字符串的结束
就是这样存放的

你可以这样做:
#include<stdio.h>
#include <memory.h>
void main()
{
printf("请输入字符串:\n");
char a[100];
memset(a,0,100);
scanf("%s",a);

for (int i=0; a[i]!='\0' && i < 100; ++i)
{
printf("%d",(int)a[i]-48);
}
}
其中的memset是用来清空a字符串数组的

偷懒一点,直接用atoi函数,把字符串转成数字.

#include<stdio.h>
#include "stdlib.h"
void main()
{
char a[100];
int b;
scanf("%s",&a);
b=atoi(a);
printf("\n%d",b);
}

当然,题目的本意肯定是让你自己实现atoi的功能了.