#include <iostream>
using namespace std;
int foo(int x,int n);
int main() {
string s = "hello";
int k = 0;
if((k - s.size()) < 0) {
cout << "yes1";
}
int temp = k - s.size();
if((temp) < 0) {
cout << "yes2";
}
}任何人都可以告诉我,为什么输出是yes2?Yes1在哪里??
发布于 2022-01-19 07:30:18
如果您查看if((k-s.size())<0),则没有类型转换数据类型。
编写int temp = k-s.size();时,整数数据类型将结果转换为整数值(-5)。然后你的结果"yes2“。
将k-s.size()更改为int(k-s.size()),您将得到"yes1“和"yes2”。
https://stackoverflow.com/questions/70766398
复制相似问题