存储Ascii值

时间:2012-02-26 14:13:10

标签: c

如何使用strcpy在任何一种变量中存储Ascii字符a到z?

for(i=97;i<122;i++)
{
    for(j=97;j<122;j++)
    {
        printf("%c%c",i,j);
        int a = strcpy(i,j);
    }
}

5 个答案:

答案 0 :(得分:2)

char a[3] = {0};

for(i=97;i<122;i++)
{
    for(j=97;j<122;j++)
    {
        printf("%c%c\n", i, j);
        a[0] = i;
        a[1] = j;
        printf("%s\n", a); 
    }
}

答案 1 :(得分:0)

所以(假设是ASCII):

char str[27]={0};
char temp[2]={0};
int i;
for (i='a';i<='z';i++) {
 temp[0]=i;
 strcpy(str,temp);
}

但你真的需要使用strcpy吗?

答案 2 :(得分:0)

  

使用strcpy()

将Ascii字符存储在任何一种变量中

您不需要它,因为对于单个字符strcpy()是不必要的。

此外,您尝试使用strcpy()处理int,而此函数处理char*

你能做的是这样的事情:

char myarray[3] = {0};
for(i = 97; i < 122; i++)
{
    for(j = 97; j < 122; j++)
    {
        printf("%c%c\n", i, j);
        myarray[0] = i;
        myarray[1] = j;
        printf("%s\n", myarray); 
    }
}

我使用了char数组,因为如果将ASCII字符存储在int中,则不能指望它打印相同的字符,因为它存储在char中。即使您尝试Convert char array to a int number in C,也无法取得成功。

答案 3 :(得分:-1)

你可以在循环中使用类型转换轻松完成

int num = 97;
char a = (char)num;   // 'a' = 97 casting int to char 
num = (int)a       // num = 97 cast 'a' to ASCII

试试吧

答案 4 :(得分:-2)

int main() {
    int a = 0;
    char c = '\0';
    scanf(" %c", &c);
    a = c + 0;
    printf("%d", a);
}

输出:输入字符的ASCII值。

我提供了代码。请参考。 为什么会这样? 关注分配给int变量a的加法运算。在编译此操作期间,编译器发现变量c是char类型但是; operator +紧挨着它,因此编译器使用存储在c变量中的字符的ascii值。

我希望它对你有所帮助。谢谢。