21xrx.com
2024-11-25 03:12:37 Monday
登录
文章检索 我的文章 写文章
C语言实现读取字符串数字的方法
2023-06-17 04:54:09 深夜i     --     --
C语言 读取数字 字符串数字

当我们在C语言程序中需要读取一串数字时,经常会遇到各种问题。在这篇文章中,我们将给出一种简单的方法,来实现读取字符串数字的操作。

首先,在C语言中,我们可以使用“scanf()”函数来读取数字。但是,“scanf()”函数只能读取整数或浮点数,无法读取字符串数字。

所以,我们需要使用另一个函数——“gets()”。这个函数可以读取一行字符串,包括空格和其他字符。我们将获得的字符串数字存储在一个字符数组中。

接下来,我们需要将这个字符数组转换为整数类型。有很多方法可以实现这个过程,比如使用“atoi()”函数。但是,这个函数只能把字符串转换成整数。如果字符串中包含非数字字符,这个函数就会返回0。

因此,我们可以使用更安全的方法——自己编写一个函数来实现这个转换过程。我们可以遍历字符数组,将每个字符转换成数字,然后计算出字符串表示的整数。

下面是我们编写的函数:


int StrToInt(char* str)

{

 int i, len, num = 0;

 len = strlen(str);

 for(i = 0; i < len; i++)

 {

  if(str[i] >= '0' && str[i] <= '9')

   num = num * 10 + (str[i] - '0');

  else

  {

   printf("Error: Invalid input!\n");

   return 0;

  }

 }

 return num;

}

这个函数接受一个字符数组作为参数,返回一个整数类型的值。我们遍历这个字符数组,如果是数字字符,则将其转换成整数,并将其加入到我们正在计算的数中。

如果字符数组中有非数字字符,则会输出错误信息,并返回0。

现在,我们可以用这个函数来读取字符串数字了:


char str[128]; // 定义一个字符数组,存储字符串数字

int num; // 存储将字符串转换成的整数

printf("请输入一串数字:");

gets(str); // 读取一行字符,包括空格和其他字符

num = StrToInt(str); // 转换成整数类型

printf("您输入的数字是 %d\n", num);

这样,我们就可以正确地读取字符串数字了!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章