与Matlab玩了一段时间后,我不禁注意到while循环的执行方式似乎不同于c ++。例如,对于这部分Matlab代码,
>> i=1;
>> while i>=1 && i<10
fprintf('%i')
i=i+2
end
Run Code Online (Sandbox Code Playgroud)
计算机坚持要求返回字符串3,5,7,9,11。另一方面,C ++中的相同程序
int i=1;
while (i>=1 && i<10)
{
cout << i <<endl;
i=i+2;
}
Run Code Online (Sandbox Code Playgroud)
给出字符串1,3,5,7,9。两种语言在这方面是否确实有所不同,或者我做错了什么?
您的matlab代码不正确:
fprintf(%i)
没有打印任何内容,因为您告诉fprintf
您要打印一个int(%i
),但是您什么也没打印。i=i+2
显示结果(不需要的结果)。正确的Matlab代码应为:
i=1;
while i>=1 && i<10
% display i
fprintf('%d', i)
% compute next i without displaying it (notice the `;`)
i=i+2;
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
104 次 |
最近记录: |