واضح آرشیو وب فارسی:سایت ریسک: تابع strcmp در سی پلاس asghar-zamani 23 ارديبهشت 1387, 22:50در زبان c++ عملکرد strcmp مقدار منفی یا مثبت را چه چیزی تعیین میکند saalek110 24 ارديبهشت 1387, 00:20چون می دانم با توربو سی چهار و نیم کار می کنید من هم از help این کامپایلر نقل می کنم: strcmp Syntax #include <string.h> int strcmp(const char *s1, const char *s2); Description Compares one string to another. strcmp performs an unsigned comparison of s1 to s2, starting with the first character in each string and continuing with subsequent characters until the corresponding characters differ or until the end of the strings is reached. Return Value If s1 is... strcmp returns a value that is... less than s2 < 0 the same as s2 == 0 greater than s2 > 0 saalek110 24 ارديبهشت 1387, 00:25باز هم از help : مثال : /* strcmp example */ #include <string.h> #include <stdio.h> int main(void) { char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr; ptr = strcmp(buf2, buf1); if (ptr > 0) printf("buffer 2 is greater than buffer 1 "); else printf("buffer 2 is less than buffer 1 "); ptr = strcmp(buf2, buf3); if (ptr > 0) printf("buffer 2 is greater than buffer 3 "); else printf("buffer 2 is less than buffer 3 "); return 0; } نتیجه اجرا: buffer 2 is greater than buffer 1 buffer 2 is less than buffer 3 saalek110 24 ارديبهشت 1387, 00:37در پست قبلی بافر 1 برابر aaa و بافر 2 برابر bbb بود و تابع strcmp مقدار مثبت داده. یعنی با این مقدار مثبت به ما می گوید که ورودی اولی که به این تابع دادیم بزرگتر از ورودی دومش است. من با چاپ ptr دیدم مقدارش 1 است. -------------------------------------------- بعد بافر 2 را aaa کردم یعنی مشابه بافر 1 که : مقدار ptr برابر صفر شد. ---------- بعد بافر 2 را aaaa کردم. یعنی چهار تا a که: مقدار ptr برابر 97 شد. که فکر کنم کد اسکی a باشد. (وقتی aaaA ) کردم 65 داد که برای A است) -------- بعد بافر 2 را aab دادم که : که ptr برابر 1 شد.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2602]