PDA

View Full Version : سوال های ابتدایی در مورد C



Francis.B
جمعه 19 آبان 1385, 13:50 عصر
سلام !

این برنامه مثلا قراره یه عدد رو دریافت کنه و اعداد اول کوچکتر از اون رو نمایش بده ! موقع کامپایل کردن توی TC 2.01 هیچ ایرادی نمیگیره و کامپایل میشه , منتها خروجی نداره ! یعنی عدد رو میگیره و بعدش هیچی (یه getch اجرای میشه اون آخر هم) ! توی کامپایلر lcc-win32 ولی درست اجرا میشه فقط وقع کامپایل کردن وارنینگ میده دو تا !
حالا سوالم اینه که اولا TC چرا خروجی نمیده ؟! مشکل زا کدهای منه دیگه , نه ؟!
و اینکه چرا توی lcc-win32 وارنینگ میده ؟!
Warning e:\lcc\a.c: 11 Statement has no effect
Warning e:\lcc\a.c: 11 possible usage of n before definition
اصولا وارنینگ گرفتن نشون دهنده ی اشکال در کد ئه ؟! یا صرفا حدس های کامپایلر ؟!

#include<stdio.h>
#include<conio.h>

void main(void)
{
long int a,n;
int check,i;
clrscr();
printf("Enter the number:");
scanf("%d",&a);
for(n==2;n<=a;n++) {
if(n==2)
check=1;
for(i=2;i<=n/2;i++) {
if((n%i)==0)
{
check=0;

break;
}
check=1;
}
if(check==1)
printf("%4d ",n);
}
getch();
}

ممنون !

hossein_BMI
جمعه 19 آبان 1385, 16:21 عصر
برنامه شما با یک تغییر جریی بخوبی کار میکنه تغییر را خودتان پیدا کنید


#include<stdio.h>
#include<conio.h>
#include<iostream.h>
int main()
{
long int a,n;
int check,i;
clrscr();
cin>>a;
for(n=2;n<=a;n++)
{
check=1 ;
for(i=2;i<=n/2;i++)
{
if((n%i)==0) check=0;
break;
}

if(check==1) cout<<n;
}
getch();
}

Francis.B
جمعه 19 آبان 1385, 17:00 عصر
ممنون , الان که نگاه کردم دیدم که میتونم دو خط این رو حذف کنم , ولی بازم توی TC خروجی نداره

#include<stdio.h>
#include<conio.h>

void main(void)
{
long int a,n;
int check,i;
clrscr();
printf("Enter the number:");
scanf("%d",&a);
for(n==2;n<=a;n++) {
check=1;
for(i=2;i<=n/2;i++) {
if((n%i)==0)
{
check=0;

break;
}

}
if(check==1)
printf("%4d ",n);
}
getch();
}


وارنینگ های lcc-win32 هم همون قبلی هاست این دفعه برای خط
for(n==2;n<=a;n++) {
.

Mahdi_Delphi
جمعه 19 آبان 1385, 19:43 عصر
عملگر == برای بررسی تساویــه
برای انتساب باید از عملگر = استفاده کنید.

Francis.B
جمعه 19 آبان 1385, 21:08 عصر
ممنون ! ندیده بودمش , ولی بازم با TC هیچی نمیگیرم http://fool.exler.ru/sm/mpr.gif
/
اوه ! الان فهمیدم مشکل از long int بودن a و n هست مثل اینکه ! چون وقتی int کردمشون درست کار کرد ! چه اشکالی داره long int باشن ؟!