【问题标题】:How to add chars in C?如何在C中添加字符?
【发布时间】:2016-03-09 15:56:51
【问题描述】:

这是我的代码:

#include<stdio.h>
int main(){
char username[100];
int password, i;
char temp;

printf("Enter username: ");
scanf("%s", username);
for(i=0;i < strlen(username);i++){
    printf("\n%d", username[i]);
    temp = username[i];
    password = password + temp;
}
printf("\n");
printf("Your password: %d", password);
return 0;
}

我知道它有点乱。我花了几个小时试图找出为什么这不起作用,而这确实有效:

#include<stdio.h>
int main(){
char r = 'r';
char a = 'a';
char f = 'f';
int i;
i = r + a + f;
printf("%d", i);
return 0;
}

【问题讨论】:

  • 定义“不起作用”.
  • printf("\n%d", username[i]);...真的吗?
  • 好吧,我猜是xD,
  • %d 是让我看看它们是否被正确转换
  • 你到底想做什么?您认为“添加字符”是什么意思?

标签: c char int


【解决方案1】:

首先学习C的基础知识。你想用“%d”打印出一个十进制数。要在控制台上输出字符,您需要使用 printf("%c", char_var)。如果多个字符需要 printf("%s", char[100]) (%s 代表字符串)

【讨论】:

  • 我发现我只是没有将密码设置为 0。我的意思是打印为整数以查看它们是否被正确转换。不过谢谢:D
  • 哦,对不起,我没看到..您忘记在使用之前初始化变量。现在我看到了
【解决方案2】:

不要使用“scanf”来获取字符串输入。使用'fgets'。用户名数组包含字符。您不能将它们显示为整数。你无法总结人物。

【讨论】:

  • 但是如果你这样做 printf("%d", (charachter var)); ,这不是将 char 打印为 int 吗?
  • 废话。 'a''r' 是完全有效的整数,可以像任何其他整数一样添加。结果有多大意义是另一个问题……
猜你喜欢
  • 1970-01-01
  • 2021-05-25
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-18
  • 2023-03-17
  • 2011-04-22
相关资源
最近更新 更多