将char元素从数组转换为int类型



嗨,我正在尝试使用用户输入将数组的元素转换为整数。

#include <stdio.h>
#include <string.h>
int main()
{
    char i[9]={'-','-','-','-','-','-','-','-',''};
    int j;
    printf ("enter an integer for an element ");
    sscanf(i, "%d", &j);
    return 0;
}

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

scanf从标准输入读取。

sscanf从字符串中读取。

scanf使用示例:

#include <stdio.h>
int main()
{
   char str1[20];
   printf("Enter name: ");
   scanf("%s", str1);
   printf("First char converted to int: %dn", str1[0]);
   int j = str1[1];
   printf("Second char converted to int: %dn", j);
   return(0);
}

输入和输出:

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

正如Marcel所说,有两个不同的函数做不同的事情。你请求使用用户的输入将数组的元素转换为整数,所以我认为你想要这个:

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

最新更新