C中的基本I/O概念

在C中如何使用printf和scanf进行输入/输出 C是一种简单的语言,而C的“核心”不包含任何输入/输出(I/O)功能。 当然,这不是C的特有情况。语言的核心通常对I/O不做任何假设。 在C的情况下,通过C标准库的stdio.h头文件中定义的一组函数向我们提供输入/输出功能。 您可以使用以下命令导入此库: #include <stdio.h> 在您的C文件顶部。 该库提供给我们许多其他函数之一: printf() scanf() sscanf() fgets() fprintf() 在描述这些函数的功能之前,我想花一分钟谈谈I/O流的概念。 在C中有3种类型的I/O流: stdin(标准输入) stdout(标准输出) stderr(标准错误) 使用I/O函数时,我们始终使用流。流是一个可以表示设备或文件的高级接口。从C的角度来看,无论是从文件还是从命令行中读取,它都是一个I/O流。 这是需要记住的一点。 有些函数设计为使用特定的流,例如printf(),它用于将字符打印到stdout。使用更通用的fprintf(),我们可以指定要写入的流。 既然我开始谈论printf(),现在让我们介绍一下它。 printf() 当学习C编程时,printf()是你将使用的第一个函数之一。 在最简单的用法中,您将其作为一个字符串字面量传递: printf("hey!"); 程序将把字符串的内容打印到屏幕上。 您可以打印变量的值,这有些棘手,因为您需要添加一个特殊的字符,一个占位符,它根据变量的类型而改变。例如,对于有符号的十进制整数,我们使用%d: int age = 37; printf("我的年龄是 %d", age); 我们可以使用逗号打印多个变量: int age_yesterday = 36; int age_today = 37; printf("昨天我是 %d 岁,而今天是 %d 岁", age_yesterday, age_today); 还有其他的格式说明符比如 %d: %c代表一个字符 %s代表一个字符串 %f代表浮点数 %p代表指针 等等。 在printf()中我们可以使用转义字符,如\n,它可以在输出中创建新的一行。 scanf() printf()用作输出函数。现在我想介绍一个输入函数,以便我们可以说我们可以做好所有的I/O事情:scanf()。 此函数用于从运行程序的用户那里获得一个值,从命令行输入。 我们首先必须定义一个变量,用于保存从输入中获得的值: int age; 然后我们以两个参数调用scanf():变量的格式(类型)和变量的地址: scanf("%d", &age); 如果我们想要获得一个字符串作为输入,请记住字符串名称是指向第一个字符的指针,因此您不需要在它之前加上&字符:...

如何在 C 語言的 `printf()` 函數中印出百分比符號

在撰寫 C 語言程式時,你可能需要使用 printf() 函數來印出百分比符號 %。 也許你正在開發一個計算百分比的程式,在你初學這門語言並創建小型程式時,這是相當常見的。 該如何達成這個目標? 如果你嘗試像這樣使用的話: printf("%"); 這樣是行不通的,而且編譯器會給你一個警告訊息,像這樣: hello.c:9:14: warning: incomplete format specifier [-Wformat] printf("%"); ^ 1 warning generated. 結果並不會被印出。 要使其正常運作,你需要輸入 %%,像這樣: printf("%%");