//本题要求提取一个字符串中的所有数字字符("0……9'),
//将其转换为一个整数输出。
#include<stdio.h>
//#include<stdlib.h>
int main ()
{
int c,i=0,b=0;
char a[100]; // > 80
//第一种输入的方法:gets(a);
//第二种输入的方法
while((c=getchar())!='\n'){
a[i]=c;
i++;
}
a[i]='\0';
//第一种输出的方法 :
printf("%s\n",a);
//第二种输出方法:
for(i=0;a[i]!='\0';i++){
printf("%c\n",a[i]);
}
for(i=0; a[i]!='\0'; i++)
{
if(a[i] >= '0' && a[i] <= '9')
b=b*10+a[i]-'0';
/*是把字符数组中的数字字符转换为整数。
首先,a[i]-'0' 将字符 a[i] 转换为对应的数值,
例如字符 '1' 转换为整数 1,字符 '2' 转换为整数 2,以此类推。
这是因为在 ASCII 编码中,数字字符 '0' 对应的整数是 48,
而其他数字字符对应的整数是 49~57。
然后,b=b*10+a[i]-'0'; 将 b 的值乘以 10,
然后加上字符转换后的整数。
这样,从左到右遍历字符数组,每次将字符转换为整数后,
乘以 10 累加到 b 中,就实现了将整个字符数组转换为一个整数的效果。*/
}
printf("%d",b);
}
字符串数组的输入输出
最新推荐文章于 2024-05-31 10:33:55 发布