আমি ডেনিস রিচি'র দ্য সি প্রোগ্রামিং ল্যাঙ্গুয়েজ বইটিতে পড়েছি যেটি intইওএফ রাখার জন্য একটি ভেরিয়েবলের জন্য অবশ্যই ব্যবহার করতে হবে - এটি পর্যাপ্ত পরিমাণে বড় করতে যাতে এটি ইওফের মান ধরে রাখতে পারে - না char। তবে নিম্নলিখিত কোডটি সূক্ষ্মভাবে কাজ করে:
#include<stdio.h>
main() {
char c;
c=getchar();
while(c!=EOF) {
putchar(c);
c=getchar();
}
}
যখন আর কোনও ইনপুট না থাকে, তখন getcharইওএফ ফেরত দেয়। এবং উপরের প্রোগ্রামে ভেরিয়েবল c, চরের টাইপ সহ এটি সফলভাবে ধরে রাখতে সক্ষম।
কেন এই কাজ করে? উল্লিখিত বইয়ের ব্যাখ্যা অনুসারে কোডটি কাজ করা উচিত নয়।
0xff। ফল সংরক্ষণ getchar()একটি ইন intসমাধান যে সমস্যা। আপনার প্রশ্নটি মূলত কম.আর.এল.এফ.এফ.কিউ.এ প্রশ্নে 12.1 প্রশ্নের সমান , যা একটি দুর্দান্ত উত্স excellent (এছাড়াও, main()হওয়া উচিত int main(void)এবং এটি return 0;বন্ধ হওয়ার আগে একটি যোগ করা ক্ষতিগ্রস্থ হবে না }))