任何人都可以解释这段代码的工作原理吗?这段代码中的`started`变量是做什么的?
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char const *argv[])
{
float longitude;
float latitude;
char info[80];
int started = 0;
cout << "Data = {";
while (scanf("%f, %f, %79[^\n]", &latitude, &longitude, info) == 3)
{
if(started)
printf(",\n");
else
started = 1;
printf("{latitude: %f, longitude: %f, info: '%s'}",latitude, longitude, info);
}
return 0;
}
我不明白为什么使用started
变量。为什么在总是将其设置为0时检查此变量的值?任何人都可以为我解释这行代码吗?
如果你无法通过“纸上谈兵”的执行代码,那么我建议你做一个调试器内。在调试器中逐行执行代码,应该很快就会清楚它的作用。 –
第一次通过'while'循环看看 - 'started'的值和'if'的哪个分支需要做什么?什么打印出来?现在,通过while循环第二次回答相同的问题。 – kbshimmyo
请注意,您正在''C'''printf'和'scanf'语句混合使用'C++'样式'cout'语句,这被很多人认为是糟糕的风格。 –