将char元素从数组转换为int

时间:2016-10-08 03:31:14

标签: c arrays char int

您好我正在尝试使用来自用户的输入将数组的元素转换为整数。

#include <stdio.h>
#include <string.h>

int main()
{
    char i[9]={'-','-','-','-','-','-','-','-','\0'};
    int j;
    printf ("enter an integer for an element ");
    sscanf(i, "%d", &j);

    return 0;
}

我在某处读到使用sscanf是一种方法,但我不知道使用它的正确方法。

2 个答案:

答案 0 :(得分:0)

scanf从标准输入读取。

sscanf从字符串中读取。

scanf用法示例:

#include <stdio.h>

int main()
{
   char str1[20];

   printf("Enter name: ");
   scanf("%s", str1);

   printf("First char converted to int: %d\n", str1[0]);

   int j = str1[1];
   printf("Second char converted to int: %d\n", j);

   return(0);
}

输入和输出:

Enter name: marcel
First char converted to int: 109
Second char converted to int: 97

答案 1 :(得分:0)

正如马塞尔所说,有两种不同的功能可以做不同的事情。 您使用来自用户的输入请求将数组元素转换为整数,因此我认为您想要这样:

char i[9]={'-','-','-','-','-','-','-','-','\0'};
int j;
printf ("enter an integer for an element ");
scanf("%i", &j);
printf("Element[ %i ] in integer is: %i", j, i[j]);