我的程序从标准输入读取几个字符串。我想像这样编码:其中是A打印00,其中是B打印01.这是我的代码。我不知道我哪里错了。谢谢!
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main(void)
{
char text[100];
printf("enter text:");
fgets(text,100,stdin);
int i,j;
unsigned int aux;
char a[100];
char b[100];
for(i=0;i<100;i++)
for(j=0;j<100;j++)
{
if(text[i]=='a'){
aux=aux|0;
aux=aux<<2;
a[j-1]=aux;
a[j]='\0';
}
if(text[i]=='b'){
aux=aux|1;
aux=aux<<2;
b[j-1]=aux;
b[j]='\0';
}
strcat(a,b)
}
printf("%s", a[j]);
getch();
return 0;
}
答案 0 :(得分:2)
printf ("%02d\n", toupper(text[i]) - 'A');
或
for (i = 0; i < strlen (text); i++)
sprintf (&a[i*3], "%02d ", toupper(text[i]) - 'A');
请注意,这仅适用于纯文字字符串