输入两个短 int C++时遇到问题



声明两个短整型变量(var7和var8),并仅使用一个>>获取它们的值,即在同一语句中执行此输入。显示结果

我相信我已经设置了所有的代码,只是不确定它是否我是如何输入信息(5 "空格"5)或者代码是如何布局的。然而,int 8的值总是一些疯狂的数字,比如28900。

printf("enter an integer for var7 and var8 n");
short int var7, var8;
cin >> var7, var8;
printf("Short integer value 7 is %d n", var7);
printf("Short integer value 8 is %d n", var8);

为了你自己的利益,研究一下逗号操作符:&;c++逗号操作符&;

同时,这是你如何输入两个变量:

std::cin >> variable_1 >> variable_2;

在控制台输入时,可能需要用空格分隔它们。

编辑1:程序。
供参考,这是你使用c++流的程序:

std::cout << "enter an integer for var7 and var8 n";
short int var7;
short int var8;
std::cin >> var7 >> var8;   // Look ma, no comma!                              
std::cout << "Short integer value 7 is " << var7 << "n";
std::cout << "Short integer value 8 is " << var8 << "n";

如果您想在cin中接受多个输入,则使用>>操作符分隔的变量

改变
cin >> var7, var8;

cin >> var7>> var8;

好吧,有些人喜欢玩,所以玩得开心:

选项1

int main()
{
printf("enter an integer for var7 and var8 n");
short int var7, var8;
short int* ptrs[] = { &var7, &var8 };
for (int i = 0; i < sizeof(ptrs)/ sizeof(ptrs[0]); ++i)
{
std::cin >> (*ptrs[i]);
}
printf("Short integer value 7 is %d n", var7);
printf("Short integer value 8 is %d n", var8);
}

选项2

#define fun(x) { std::cin >> x; }
int main()
{
printf("enter an integer for var7 and var8 n");
short int var7, var8;
fun(var7)
fun(var8)
printf("Short integer value 7 is %d n", var7);
printf("Short integer value 8 is %d n", var8);
}

当然,这只是一段有趣的代码,但它符合要求。

最新更新