AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第78题 (1.0分) 题号:503 以下语句中,不能实现回车换行的是()。

A
 printf(”\n”);
B
 putchar(”\n”);
C
 fprintf(stdout,”\n”);
D
 fwrite(”\n”,1,1,stdout);

答案解析

正确答案:B

解析:

这道题考查的是 C 语言中标准输出函数的参数类型及用法。我们需要逐一分析各个选项,判断其是否能正确输出换行符 `\n`。 **1. 选项分析** * **A. `printf("\n");`** * `printf` 是格式化输出函数。 * 参数 `"\n"` 是一个字符串常量,其中包含一个换行字符。 * `printf` 会解析格式字符串并输出其中的内容,因此该语句可以正常实现回车换行。 * **结论:可以实现。** * **B. `putchar("\n");`** * `putchar` 函数的原型是 `int putchar(int c);`。 * 它接收的参数是一个 **整数(int)** 或 **字符(char)**,即单个字符的 ASCII 码值。 * 选项中传入的参数 `"\n"` 是一个 **字符串常量**(在 C 语言中,双引号括起来的是字符串,其类型是指向字符的指针 `char *`)。 * 将字符串指针传递给期望接收 `int` 类型的 `putchar` 函数,会导致 **类型不匹配**。虽然在某些编译器下可能只会产生警告并输出不可预知的结果(通常是将指针地址的低字节当作字符输出,而不是换行符),但这在语法逻辑上是错误的,无法保证实现回车换行功能。 * 正确的写法应该是 `putchar('\n');`(使用单引号表示字符常量)。 * **结论:不能实现(语法/类型错误)。** * **C. `fprintf(stdout, "\n");`** * `fprintf` 是格式化输出到指定流的函数。 * 第一个参数 `stdout` 指定标准输出流。 * 第二个参数 `"\n"` 是格式字符串。 * 这与 `printf("\n")` 的效果完全一致,因为 `printf` 本质上就是 `fprintf(stdout, ...)` 的封装。 * **结论:可以实现。** * **D. `fwrite("\n", 1, 1, stdout);`** * `fwrite` 用于向流中写入数据块。 * 原型:`size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);` * 参数解释: * `ptr`: `"\n"`,指向包含换行符的字符串的指针。 * `size`: `1`,每个元素的大小为 1 字节。 * `nmemb`: `1`,写入 1 个元素。 * `stream`: `stdout`,输出到标准输出。 * 该语句会将 `"\n"` 字符串中的第一个字符(即换行符)写入标准输出。 * **结论:可以实现。** **2. 总结** * 选项 A、C、D 均能正确输出换行符。 * 选项 B 错误地将字符串常量 `"\n"` 传递给了只接受单个字符的 `putchar` 函数,正确的用法应使用字符常量 `'\n'`。 因此,不能实现回车换行的是 **B**。 **正确答案:B**
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码