草庐IT

c# - 寻求澄清有关弱类型语言的明显矛盾

我想我明白了strongtyping,但是每次我寻找弱类型的示例时,我最终都会找到简单地自动强制/转换类型的编程语言示例。例如,在这篇名为Typing:Strongvs.Weak,Staticvs.Dynamic的文章中说Python是强类型的,因为如果你尝试这样做会得到一个异常:Python1+"1"Traceback(mostrecentcalllast):File"",line1,in?TypeError:unsupportedoperandtype(s)for+:'int'and'str'然而,这样的事情在Java和C#中是可能的,我们不认为它们是弱类型的。Javainta=1

c# - 寻求澄清有关弱类型语言的明显矛盾

我想我明白了strongtyping,但是每次我寻找弱类型的示例时,我最终都会找到简单地自动强制/转换类型的编程语言示例。例如,在这篇名为Typing:Strongvs.Weak,Staticvs.Dynamic的文章中说Python是强类型的,因为如果你尝试这样做会得到一个异常:Python1+"1"Traceback(mostrecentcalllast):File"",line1,in?TypeError:unsupportedoperandtype(s)for+:'int'and'str'然而,这样的事情在Java和C#中是可能的,我们不认为它们是弱类型的。Javainta=1

澄清 C 中指针的左值、右值行为

Clarificationoverlvalue,rvaluebehaviourofpointersinC1234567891011121314151617#includeintmain(){  inti=10;  int*p=&i;  printf("\addressofinitializedpointerp:%u\",p);  p=&(*p);  printf("\modifiedaddressofinitializedpointerp:%uvalue:%dvaluezaddress:%d\",p,*p,&(*p));  return0;}代码输出:-初始化指针p的地址:3221221820

澄清 C 中指针的左值、右值行为

Clarificationoverlvalue,rvaluebehaviourofpointersinC1234567891011121314151617#includeintmain(){  inti=10;  int*p=&i;  printf("\addressofinitializedpointerp:%u\",p);  p=&(*p);  printf("\modifiedaddressofinitializedpointerp:%uvalue:%dvaluezaddress:%d\",p,*p,&(*p));  return0;}代码输出:-初始化指针p的地址:3221221820