السلام عليكم ،
ما أعرفه ، أنه ولمقارنة متغيرين يحملان نص معين ، فانه يجب أن أقارن كل بحرف بالمقابل حتى أقرر ان كانا متطابقين ، أو أن استخدم stl::string كحل بديل . لكن أمامك هذا البرنامج ، الذي يقارن بين نصين وينجح في ذلك حيث يذكر أنهما متطابقين ، اذا كانا كذلك :
#include <stdio.h>
int main()
{
if( "XYZ" == "XYZ" ){
printf("they are equal");
}
else{
printf("they are not equal");
}
getchar();
return 0;
}- من متى ولغة السي/السي بلس ، تستطيع المقارنة بين نصين ؟
- تأكدت باستخدام Visual C++ 2010 Debugger ، أنه لايتم استدعاء أي معامل من نوع == ، ويبدو أن هذا موجود في قلب اللغة - في تعريفها . هل الأمر بهذه السهولة في لغة السي ، حتى يمكن المقارنة بين نصين باستخدام المعامل == فقط ؟ أم أن هناك شيء خفي يحدث دون أن أراه أو ألاحظه ؟

