为什么添加到 ascii 会增加额外的字符?

时间:2021-05-18 04:12:44

标签: c ascii

因此,我尝试用 C 语言创建一个程序,将大写字符转换为小写字符,只需将 32 添加到大写字符即可。

#include <stdio.h>

int main()
{
  char user_inp[16];
  char final_res[16];
  int ascii;
  printf("%s", "Enter any string : ");
  scanf("%s", &user_inp);

  for (int i = 0; user_inp[i] != 0; i++){
    ascii = (int) user_inp[i];
    if (ascii < 91&& ascii > 64){
      ascii = ascii + 32;
    }
    final_res[i] = ascii;
  }

  printf("%s\n", final_res);

  return 0;
}

但是当我运行它时,我得到了一些额外的乱七八糟的结果。

For example,
Input : Apple
Output : apple

But,
Input : Encyclopedia
Output : encyclopedia�U

我遇到了什么问题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

C 字符串需要以空字符结尾。 user_inp 是。但 final_res 不是。