لطفا کمک کنید

hotzero

Member
من یه برنامه دارم می خوام جواب شو ببینم چی میشه ولی متاسفانه ارور CWL.LIB میده لطفا راهنمایی کنید ممنون

کد:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>
void print()
{
char s[80]="tehran";
s[6]='it';
strcpy(s+7,"iran world");
s[11]='15';
puts(s);
}
]
 

پیوست ها

  • 22.txt
    186 بایت · بازدیدها: 2
آخرین ویرایش:

the_king

مدیرکل انجمن
من یه برنامه دارم می خوام جواب شو ببینم چی میشه ولی متاسفانه ارور CWL.LIB میده لطفا راهنمایی کنید ممنون

زمانی که می خواهید یک کد برنامه را در متن پست تان قرار دهید، از دکمه
code.gif
که در ویرایشگر فروم موجود است
استفاده کنید تا کدتان بین دو تگ [CODE] و [CODE/] قرار بگیرد. اینطوری کد تان از چپ به راست
و بطور صحیح نمایش داده می شود. رعایت کردن این مساله در فروم هایی که زبان اصلی شان فارسی است و متن ها
راست به چپ درج می شوند اهمیت زیادی دارد.


کد:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>

void print()
{
    char s[80] = "tehran";
    s[6] = 'it';
    strcpy(s + 7, "iran world");
    s[11] = '15';
    puts(s);
}

int main()
{
    print();
    return 0;
}

اگه بدونم می خواهید چه کاری انجام دهید بهتر می توانم راهنمایی تان کنم.

شما یک رشته به نام s دارید که ابتدا در آن عبارت tehran قرار دارد. در ادامه می خواهید کاراکتری را درست
در انتهای آن رو کاراکتر null انتهای رشته درج کنید، اما مشکل اینجا است که it دو کاراکتر است، نه یک کاراکتر.
یا باید i رو در [s[6 درج کنید و یا t را. عبارت it یک رشته دو کاراکتری است، نه یک کاراکتر.

مثلا کد زیر دو کاراکتر i و t را به انتهای رشته اضافه می کند :
کد:
    s[6] = 'i';
    s[7] = 't';
البته قبل از نمایش نتیجه باید کاراکتر null آخر رشته را درج کنید، وگرنه پایان رشته مشخص نیست :
کد:
    s[8] = '\n';
پایان رشته را اینطوری هم می توانید مشخص کنید :
کد:
    s[8] = 0;

کد ()strcpy ای که نوشتید مشکلی ندارد اما آن کاراکتر '15' ای که در سطر بعدی نوشتید برای چیست؟
 

hotzero

Member
ممنونم بابت تذکر و راهنمایی کامل و جامع تون.این ها رو می دونم.راستشو بخاوای این یک سوال کنکور .هر چی فکر می کنم نمی دونم جوابش چی میشه. به نظر من خطی که it و 15 داره خطای کامپایلری داره ولی نمی دونم چه تاثیری در برنامه داره
گزینه هاش اینتوری یه
1- tehran iran world
2-tehran iran
3-tehran
4-iran world

ممنون میشم کسی واسم توضیح بده قضیه چیه.
با تشکر از علی سعید
 
آخرین ویرایش:

the_king

مدیرکل انجمن
الزاما خطای کامپایلری نیست، کامپایلر های (GCC (windows و ++Microsoft Visual C خطایی ایجاد نمی کنند و
نتیجه tehrantiran5world است، یعنی در مورد 'it' و '15' کاراکتر دومشان (t و 5) را درج می کنند که البته هیچکدام
از گزینه ها نیست.

کامپایلر QuickC در اون دو سطر خطای "too many characters in constant" می دهد و برنامه کامپایل نمی شود.

کامپایلر ++Turbo C هم خطایی ایجاد نمی کند و نتیجه tehraniiran1world است، یعنی در مورد 'it' و '15' کاراکتر
اول شان (i و 1) را درج می کند که البته هیچکدام از گزینه ها نیست.

وقتی صورت سوال اشکال داشته باشه بهتره که بهش جواب ندهید.
 

جدیدترین ارسال ها

بالا