short s1=s1+1;有什么错
时间: 2023-04-21 21:00:18 浏览: 152
short s1=s1+1; 的错误在于,s1+1 的结果是一个 int 类型的值,需要将其强制转换为 short 类型才能赋值给 s1,否则会出现类型不匹配的错误。正确的写法应该是:short s1 = (short)(s1+1);
相关问题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
b'short s1 = 1; s1 = s1 + 1;\xe6\x9c\x89\xe4\xbb\x80\xe4\xb9\x88\xe9\x94\x99?' 的问题是会报错,因为short类型相加会发生类型提升,需要进行强制类型转换。
而 'short s1 = 1; s1 += 1;\xe6\x9c\x89\xe4\xbb\x80\xe4\xb9\x88\xe9\x94\x99?' 不会报错,因为使用了复合赋值运算符,可以避免类型提升的问题。
.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
b'short s1 = 1; s1 = s1 + 1;\xe6\x9c\x89\xe4\xbb\x80\xe4\xb9\x88\xe9\x94\x99?' 的问题是会报错,因为short类型相加会发生类型提升,需要进行强制类型转换。
而 'short s1 = 1; s1 += 1;\xe6\x9c\x89\xe4\xbb\x80\xe4\xb9\x88\xe9\x94\x99?' 不会报错,因为使用了复合赋值运算符,可以避免类型提升的问题。
阅读全文