我将从用户那里获得输入并删除除大写字母之外的所有内容。但是我不想要重复的大写字母。到目前为止,我唯一的问题是删除重复项。
以下是对字母进行排序并仅将我想要的字母放入新数组的代码。
placer=0;
for (a = 0 ; a < ( strlen(regular) - 1 ); a++)
{
for (placer = 0 ; placer < strlen(regular) - a - 1; placer++)
{
if (regular[placer] > regular[placer+1])
{
swap = regular[placer];
regular[placer] = regular[placer+1];
regular[placer+1] = swap;
}
}
}
printf("regular: %s\n", regular); // this prints exactly as it is supposed to
placer=0;
for (a=0; a<strlen(regular); a++){
if (regular[a] != regular[a+1]){
alpha[placer] == regular[a];
placer++;
}
}
printf("alpha: %s\n", alpha); // this does not
因为它存在阵列alpha将由于未知的原因不采取任何字符。每当我尝试打印它时,它只是打印垃圾。
只是为了澄清:
char regular[81+1]="\0", alpha[26];
这是2个阵列的声明。
任何帮助都将不胜感激。
答案 0 :(得分:0)
你错误地将“==”误认为是行中的“=”[placer] = regular [a] ;.
所以这应该是
alpha[placer] = regular[a];