arrays - 在 printf() 中使用 %s 后出现自动换行符的问题
问题描述
以下是从用户那里获取名称和标记的简单程序。
#include <stdio.h>
int main()
{
char name[11];
int marks;
printf("write name of student:\n");
fgets(name, 11, stdin);
printf("write marks of %s student:", name);//problem
scanf("%d", &marks);
return 0;
}
在第二个 printf 中,我使用%s来显示用户输入的名称并询问该名称的标记。问题是在显示名称(%s,即用户输入)后,屏幕上会打印一个换行符,而下一个单词(即“学生: ”)会打印在新行中。我找不到这个错误。以下是控制台上的结果。
write name of student:
Suraj
write marks of Suraj
student:50
[Program finished]
Suraj是名字,50是写在控制台上的标记。
解决方案
推荐阅读
- python - 为什么相同数据的 str 数组和 object 数组的内存使用量不同?
- excel - 如果单元格值为数字,则将单元格区域除以特定数字
- asp.net - ASP.NET 标识属性扩展
- cloud-foundry - 多语言和客户端负载平衡
- react-native - 如何将 Shopify 与 React 本机(Android 和 IOS)集成?
- php - 如何在 href 中传递 $_SESSION 凭据以访问特定的 HTML 页面?
- angular - 带有.subscribe误解的Angular UNIT测试方法
- postgresql - PostgreSQL JDBC 事务隔离
- django - 未使用 Django send_mail() 发送电子邮件
- java - 如何更改内部类中的变量值