abo-abdalmlek
05-01-2005, 07:58 AM
السلام عليكم ورحمه الله وبر كاته
صباح الخير للكل
انا اول مشاركه لي هذي
لكن راح اطلب فيه طلب صغير
او يعني سؤال
- ماهو الفرق بين استخدام
() int main
}
;0 return
{
و
()void main
}
{
من ناحيه التحميل
والسرعه في العمل
والافضليه
والف شكر لكم
infitar
05-01-2005, 05:43 PM
the first function returns a value type of integer 32 bit and the second function returns void (nothing)
use the first one so u can return application exit code or error code...ect...
ibn_alqalam
05-01-2005, 05:45 PM
لافرق، لافي السرعة على الاقل.
الاولى هي الطيق الاصح، والثانية هي الطريقة القديمة.
هناك ايضا طريقة ثالثة، وهي لاعطا البرنامج قيما:
int main (int argc, char **argv)
{
printf ("Ismy %s.", argv[0]);
return 0;
}
فاذا ما اردت قيادة البرنامج من خلال هيكل MS DOS او Unix مثلا:
"dir/o/p" "ls -al |more" الخ، فيمكنك قراة المدخلات كالسابق.
يحتوي اول عنصر في [0]argv على اسم البنامج نفسه، حتى اذا غيرته!
من argv[1] واعلى تكمن معطياتك الى البرنامج.
جرب هذا
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char **argv)
{
long val1 = 0, val2 = 0, result = 0;
if (argc != 4) {
fprintf (stderr, "usage: %s <number> <op> <number>", argv[0]);
exit(1);
}
val1 = strtol (argv[1], NULL, 10);
val2 = strtol (argv[3], NULL, 10);
if (strncmp (argv[2], "+", 1) == 0)
result = val1 + val2;
else if (strncmp (argv[2], "-", 1) == 0)
result = val1 - val2;
else {
fprintf (stderr, "operation %s should be + or -.\n",
argv[2]);
exit(1);
}
printf ("Answer = %d\n", result);
return 0;
}
هذا حاسب صغير، يدعم فقط الجمع والرح، حاول ان تفهم طريقة عمله واضف له عمليات الضرب والقسمة على الاقل
جميع حقوق برمجة vBulletin محفوظة ©2025 ,لدى مؤسسة Jelsoft المحدودة.
جميع المواضيع و المشاركات المطروحة من الاعضاء لا تعبر بالضرورة عن رأي أصحاب شبكة المنتدى .