c语言怎样取字符数组中元素的ascii码

定义一个 char a[10]; int b[10]; 现在我要把a中所有字母的ascii码赋给对应的b中,怎么写?

C语言中只要用不同的格式符进行输出字符,便能得到不同的输出效果。单个字符输出时,用%c就能输出字符本身;而用%d格式输出,便能以十进制方式输出该字符的ASCII码。

所以说并不需要另辟一个数组事单独存放的。需要时只要直接引用字符就可以了。

以下的程序便起到了逐个输出字符串中每个字符及它的ASCII码的作用(附运行结果图):

#include "stdio.h"

int main()

{char s[100]; 

 int i,a[100];

 gets(s);

 for(i=0;s[i];i++)        /*循环,从首字符开始,直到字符串结束为止*/

   printf("%c:%-6d",s[i],s[i]);    /*同一个字符,分别以字符形式和十进制ASCII值输出*/

 printf("\n");

 system("pause");

 return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-08
在技术实现上,char是整数类型,因为char类型实际存储的是整数而不是字符。现在常用ASCII码来使特定的整数表示特定的字符,所以可以直接进行赋值。PS:这里需要注意的是char a[10]的最后一位是结束符'\0',所以a中只有前9个有效。
for(int i =0; i < 10; i++)
{
b[i] = a[i] ;
}本回答被网友采纳
第2个回答  2012-11-08
直接写就可以了。
for(int i=0;i<10;i++)
b[i] = a[i];本回答被提问者采纳
第3个回答  2012-11-08
书还是要看的啊!
ascii码表不是很明显的说明了吗!
一个字符对应一个int型整数,
就是说可以直接赋值的!
第4个回答  2012-11-08
#include <stdio.h>

int main()
{
char a[11] = "aaaaaaaaaa"; //需要11个位子,最后一个给字符串结束符‘\0’

int b[10], i;

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

b[i] = a[i];

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

printf("b[%d]: %d\n", i, b[i]);

}
相似回答