让我们深入了解 C 语言中用户输入的几种常用方法,包括 scanf()、fgets(),以及如何获取用户输入的内存地址。
scanf()
fgets()
scanf() 函数用于从标准输入流(通常是键盘)中读取用户输入,并将输入的值存储到指定的变量中。但是,它可能存在缓冲区溢出和安全问题,因此在使用时需要格外小心。
#include <stdio.h> int main() { int num; printf("Enter a number: "); scanf("%d", &num); // 从标准输入读取一个整数,并将其存储到 num 变量中 printf("You entered: %d\n", num); return 0; }
fgets() 函数用于从指定的流中读取一行,并将其存储到指定的缓冲区中。与 scanf() 不同,fgets() 更安全,因为它可以指定读取的最大字符数,从而避免缓冲区溢出。
#include <stdio.h> int main() { char buffer[100]; printf("Enter a string: "); fgets(buffer, sizeof(buffer), stdin); // 从标准输入读取一行,并将其存储到 buffer 缓冲区中 printf("You entered: %s\n", buffer); return 0; }
要获取用户输入的变量的内存地址,只需使用 & 操作符。
&
#include <stdio.h> int main() { int num; printf("Enter a number: "); scanf("%d", &num); // 从标准输入读取一个整数,并将其存储到 num 变量中 printf("Memory address of num: %p\n", (void*)&num); return 0; }
以上是关于 C 语言用户输入的详细解释以及实用指南。选择适当的输入方法并进行适当的安全检查是确保程序稳定性和安全性的关键。
原文链接:codingdict.net