c - Putchar 字符出现在我的 printf 函数的前面
问题描述
使用此代码
void echo_char_code() {
int x;
printf ("Please enter a character:\n");
x = getchar();
printf("The character code of '%c' is %d", putchar(x), putchar(x));
printf(". \n");
}
int main() {
echo_char_code();
return 0;
}
但由于某种原因,我的输出是
AAThe character code of 'A' is 65.
我想知道为什么“AA”出现在开头,而不仅仅是我想要的“A”和 65。
解决方案
您不应将 putchar(x) 作为参数传递,而应使用变量 x。
void echo_char_code() {
int x;
printf ("Please enter a character:\n");
x = getchar ();
printf("The character code of '%c' is %d", x, x)); // changing putchar(x) to x solves the problem.
printf (". \n");
}
int main() {
echo_char_code();
return 0;
}
推荐阅读
- ios - Xamarin.iOS 应用请求权限时来自 http 请求的 OperationCanceledException
- spring-boot - 如何将多个列作为实体中的主键 - JPA
- excel - 过滤一列并将值放在下一列中直到最后
- c - 我应该如何获得浮点值的小数部分?
- php - 创建令牌中的 Laravel Passport API 错误
- python - 在python中重塑多头表
- vba - VBA - 如何检查会话是否已激活
- javascript - Qt Creator 从编译过程中排除 JavaScript 文件
- r - R包DT无法安装
- c# - c#将任何类型转换为二进制形式的字符串或整数数组