你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
int a, b, c;
int x = scanf_s("%d%d%d", &a, &b, &c);
printf("%d\n", x);
输入:1 2 3 输出:3
输入:1 2 输出:2
输入:1 2 3 4 输出:3
scanf_s同时获取字符串和数组会报访问冲突。
需要分开获取字符串和整数。
scanf_s("%s",na,sizeof(na));
scanf_s("%d %d %d", &gold, &silver, &tong);
使用scanf_s获取字符串需要获取字符串长度,保证不越界获取。
EOF表示“文字流”的结尾,“文字流”包括文件或标准输入。
EOF不是特殊字符,是宏定义。
#define EOF (-1)
①EOF表示文件结尾时,系统通过比较文件的长度来判断文件是否到达末尾。EOF是读到文件结尾时返回的一个信号值(-1)。
②EOF表示标准输入的结尾,无法事先知道输入长度,必须输入ctrl+z(windows)或ctrl+d(linux)表示到达末尾。
获取未知个数的输入:
①C实现
int num1, num2;
while (scanf_s("%d%d", &num1, &num2) != EOF)
{
printf("%d ", num1 + num2);
}
输入:1 2 3 4 5 6
输出:3 7 11
②C++实现
std::vector<int> arr;
int num;
while (std::cin >> num)
{
arr.push_back(num);
}
for (int i = 0; i < arr.size(); i++)
{
std::cout << arr[i] << " ";
}
输入:1 2 3 4 5
输出:1 2 3 4 5
cin不能获取包含空格的字符流
std::string input;
std::cin >> input;
std::cout << input;
输入:all is well
输出:all
std::string input;
getline(std::cin,input);
std::cout << input;
输入:all is well
输出:all is well
注意:一定要包含头文件
#include
double data = 6.25453234243;
std::cout << std::fixed << std::setprecision(2) << data << std::endl;