কি? ত্রুটি নেই? [বন্ধ]


197

আপনার কাজ সহজ। এমন একটি প্রোগ্রাম লিখুন যা সংকলিত বা রান করার সময় অবশ্যই প্রথম নজরে একটি ত্রুটি তৈরি করবে, তবে অন্য কোনও সম্পর্কযুক্ত ত্রুটি হয় না বা তৈরি করে না। এটি জনপ্রিয়তার প্রতিযোগিতা, তাই সৃজনশীল হন।


11
হুঁ মম .... এটি মস্তিষ্কের টিজার। +1
টিম সেগুইন

1
যদি আমি এটি সন্ধান করতে পারি ... একটি পুরানো পিএল / আমি উদাহরণ ছিল যা "যদি যদি তবে + তবে তবে = অন্যথায় অন্য = যদি অন্যথায় ..." এর পংক্তিতে একটি বিবৃতি অন্তর্ভুক্ত করে (পিএল / আমি ব্যবহারের অনুমতি দিয়েছিলাম এর কীওয়ার্ডগুলি ভেরিয়েবল নাম হিসাবে, এবং সি এর মতো শর্তযুক্ত এক প্রকাশ ছিল
?:

8
আমি পুরো ব্রেইনফাক ভাষাটি প্রস্তাব করি, কারণ বিএফ কোড দেখে মনে হয় এটি সংকলন করবে না।
আগি হামারথিফ

@ নিগেলনকান্ডে কেবলমাত্র আপনি যদি এর সাথে পরিচিত না হন ...;)
জোস্টি

উত্তর:


282

সি ++

নিশ্চিত হয়ে নিন যে আপনি নীচের কোডটি স্ট্যান্ডার্ড কনফর্মিং মোডে সংকলন করেছেন (উদাহরণস্বরূপ, জি ++ এর জন্য -ansi পতাকা ব্যবহার করুন):

int main()
{
  // why doesn't the following line give a type mismatch error??/
  return "success!";
}

কিভাবে এটা কাজ করে:

?? / একটি ট্রাইগ্রাফ ক্রম যা ব্যাকস্ল্যাশ-এ অনুবাদ করা হয় যা নিম্নলিখিত নিউলাইনটি থেকে দূরে থাকে, সুতরাং পরবর্তী লাইনটি এখনও মন্তব্যের অংশ এবং সুতরাং একটি সিনট্যাক্স ত্রুটি তৈরি করবে না। নোট করুন যে সি ++ এ, রিটার্নটিকে বাদ দেওয়া mainভালভাবে সংজ্ঞায়িত হয়েছে এবং 0 ফেরত দেওয়ার সমতুল্য, একটি সফল রান ইঙ্গিত করে।


7
আমার মনে হচ্ছে প্রথম জবাবটি ঠিক এই ব্যাট থেকে ইন্সটা-জিতেছে।
অস্থায়ী_ ব্যবহারকারী_নাম

1
এটি সি 99 এও বৈধ।
আর ..

1
সেখানে -Wall সঙ্গে সতর্কবার্তা হয়
BЈовић

2
@ বিЈовић ওয়াল সর্বদা সর্বদা সম্পর্কে সতর্কতা দেয়
কিউই

4
@ কিউই এটি উপরের মত কেবল আবর্জনা কোডের জন্য সতর্কতা ছুঁড়েছে। -ওয়াল সব কিছুর জন্য সতর্কতা দেয় না।
BЈовић

86

চুনি

সর্বদা এটির একজন অনুরাগী।

x = x

কোন NameError। এক্স এখন হয় nil

এটি রুবির কেবলমাত্র একটি "বৈশিষ্ট্য" :-)

এখানে আরও জাগ্রত একটি যা আমাকে অর্জন করেছে:

x = 42

if x < 0
  raise Exception, "no negatives please"
elseif x == 42
  raise Exception, "ah! the meaning of life"
else  
  p 'nothing to see here...'
end 

"এখানে দেখার মতো কিছুই নেই" মুদ্রণ করে।

এটা elsif না elseif । (এবং এটি অবশ্যই এলিফ নয় - প্রচ্ছন্ন পাইথন প্রোগ্রামার (আমার) এর জন্য ধিক্কার !) সুতরাং অনুবাদকের কাছে অন্যরকম দেখতে সাধারণ পদ্ধতি কল হিসাবে দেখা যাচ্ছে, এবং যেহেতু আমরা x <0 ব্লকে প্রবেশ করি না, আমরা সরাসরি অন্য দিকে চলে যাই এবং একটি ব্যতিক্রম বাড়াবেন না। এই বাগটি কোনও সিনট্যাক্স-হাইলাইটিং এনভায়রনমেন্টে অবিশ্বাস্যভাবে সুস্পষ্ট, ধন্যবাদ (?) কোড গল্ফ এরকম পরিবেশ নয়।


5
আমাকে বুঝতে পেরেছ. আমি পাইথন এবং লুয়া দু'টি আগেই করেছি এবং এখন রুবিতে শুরু করছি। লুয়া সেটিকে ব্যবহার করে।
Riking

7
মহাবিশ্বের অর্থ দেখার কিছু নেই?
ব্যবহারকারী 80551


77

সি?

এখানে খুব সাধারণ কোড ...

void main() = main--;

এটি হাস্কেল, সি নয়, এটি "অকার্যকর" নামের একটি ফাংশন সংজ্ঞায়িত করে যা দুটি যুক্তি গ্রহণ করে। প্রথমটির নাম দেওয়া হয়েছে "প্রধান" এবং দ্বিতীয়টি (নামবিহীন) যদি খালি টিপল হয় তবে এটি "মূল" ভেরিয়েবলটি দেয়। "-" হাস্কেলতে একটি মন্তব্য শুরু করে, তাই ";" মন্তব্য করা হয়।


21
সুতরাং অন্য কথায়, এটি প্রতারণা?
মিস্টার লিস্টার

75
কোড-চ্যালেঞ্জ প্রতিযোগিতায় প্রতারণা করা স্বাভাবিক। আমরা একে সৃজনশীলতা বলি। : পি
জো জে।

31
আমি এটাকে একটি প্রতারণা বলব, সৃজনশীলতা নয়। আপনি যে পরিবেশটি চালাচ্ছেন তা আপনাকে সংজ্ঞায়িত করতে হবে আগে আপনি কিছু কোড ত্রুটিযুক্ত কিনা তাও বিবেচনা করতে পারেন। অন্যথায় আমি আপনাকে কেবল লাইব্রের আওয়াজ দিতে পারি যা মালবাল্জ এবং আপনাকে জিজ্ঞাসা করতে পারে এটি সঙ্কলিত কিনা।
টিম এস

5
এটি আপনাকে কেবল এক সেকেন্ডের জন্য থামিয়ে দেওয়ার কথা বলেছে 'আরে আপনি কি এটি করতে পারেন ?' :)
intx13

10
@JoeZ। এটা তোলে পারে কিছু ক্ষেত্রে Perl মত চেহারা।
ব্যবহারকারী 80551

72

জাভাস্ক্রিপ্ট

var а = 100;
if (typeof a !== 'undefined') throw 'This should always throw, right?';
console.log('How am I still alive?');

এখানে কিভাবে এটা কাজ করে:

প্রথমটি aহ'ল একটি а(যা ক্রিলিক ইউনিকোড "এ")।


8
এই কৌশলটি যে কোনও ভাষায় প্রয়োগ করা যেতে পারে যা ইউনিকোড টোকেন গ্রহণ করে (যেমন জাভা, সি #)।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

83
@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳, আপনার ব্যবহারকারী নাম দ্বারা দৃষ্টান্ত
TheDoctor

9
খুব সুস্পষ্ট সমাধান
thepirat000

6
এর আগে যে কেউ এসেছে তার পক্ষে খুব স্পষ্ট। আমি নিশ্চিত যে প্রচুর পরিমাণে নবাগত এবং তথাকথিত "ওয়েব বিশেষজ্ঞ" এতে বিভ্রান্ত হতে পারে।
থেব্লুফিশ

42
সুস্পষ্ট? সুতরাং আপনি সর্বদা আপনার পরিবর্তনশীল নামগুলি দেখতে তাদের পরিবর্তে তাদের ইউনিকোড নম্বরগুলির মাধ্যমে দেখুন? আপনি যদি এটি "আ" (বা "а"?) অনুসন্ধান করেন এবং আপনি যা প্রত্যাশা করেন তা খুঁজে পেতে ব্যর্থ হন তবে আপনি এটি লক্ষ্য করতে পারেন, তবে সহজভাবে পড়ার সময় আপনি এটি দেখতে পাবেন না (অন্তত এখানে প্রদর্শিত ফন্টে)।
টিম এস

70

জাভাস্ক্রিপ্ট

আমি যখন নিম্নলিখিত কোডটি সরবরাহ করছিলাম তখন আমাকে অনেকবার বলা হয়েছিল "এটি অবশ্যই একটি টাইপো হবে! এটি কীভাবে কাজ করতে পারে?"

console.log( 42..toString(2) );

নীচের বিবরণটি সাম্প্রতিক একটি ক্ষেত্রে থেকে ঠিক অনুলিপি করা হয়েছিল ।

আপনি সম্ভবত জানেন যে, জাভাস্ক্রিপ্টে আক্ষরিক ব্যতীত সমস্ত কিছুই একটি অবজেক্ট। সংখ্যা পাশাপাশি বস্তু হয়। সুতরাং তাত্ত্বিকভাবে (এবং ব্যবহারিকভাবে) আপনি ডট নোটেশনের মাধ্যমে কোনও অ-আক্ষরিকের সম্পত্তি বা কল পদ্ধতিগুলি পেতে পারেন যেমন আপনি করেন 'string'.lengthবা করেন [1,2,3].pop()। সংখ্যার ক্ষেত্রে আপনিও একই কাজ করতে পারেন তবে আপনার মনে রাখতে হবে যে একটি ডট পরে পার্সার একটি ভাসমান মান (যেমন হিসাবে 123.45) প্রত্যাশা করে সংখ্যার একটি ভগ্নাংশের অংশ সন্ধান করবে । আপনি একটি পূর্ণসংখ্যা ব্যবহার করেন তাহলে আপনি পার্সার করে একটি ভগ্ন অংশ খালি "বলুন" উচিত, একটি সম্পত্তি অ্যাড্রেসিং আগে একটি অতিরিক্ত ডট করুন: 123..method()


18
লুয়া লোক হিসাবে, আমি প্রত্যাশা 422
করছিলাম

3
এই ব্যবহারটি আগে দেখেনি, খুব ঝরঝরে।
নিট

5
..স্বরলিপিটির নিখুঁতভাবে অভ্যস্ত হওয়ার জন্য খারাপ লাগছেন, তবে স্বরলিপিটি সম্পর্কে সম্পূর্ণরূপে নিখুঁত .toString(a freaking argument here?): পি ওহ ভাল, এখনই এটি আবিষ্কার করেছেন :)
ডেভিড মুলদার

এই আউটপুট কি করে? এবং কেন ? আমি আগ্রহী.
নিকোলাস বারবুলেসকো

3
অলসতার জন্য, যুক্তিটি বেসটি নির্দিষ্ট করে (সুতরাং এটি বাইনারিতে 42 টি প্রিন্ট হবে), এবং এই কোডটির পক্ষে মোটেই গুরুত্বপূর্ণ নয়। ..বিভ্রান্তিকর অংশ।
কাট

63

সজোরে আঘাত

#!/bin/bash

[ 1 < 2 ] && exit

for i in `seq 1 $[2 ** 64]`
    do "$0" | "$0"
done

while [[ false ]]
    do :
done

if maybe
    do [: [: [: [: [; [; [; [; ;] ;] ;] ;] :] :] :] :]
fi

ফলাফল

  • আপনি স্ক্রিপ্টটি কোনও ত্রুটি তৈরি না করার আশা করতে পারেন, কারণ এটি প্রথম কমান্ডের পরে উপস্থিত হয়। এটা না।

  • আপনি forলুপের কারণে চলমান কাঁটাচামচ বোমা দ্বারা সৃষ্ট সাধারণ ত্রুটি বার্তাগুলি আশা করতে পারেন । কাঁটাচামচ বোমা নেই।

  • আপনি আশা করতে পারেন যে বাশ ব্লকের maybeভিতরে অনুপস্থিত কমান্ড বা সিনট্যাক্স ত্রুটির পুরো গোছা সম্পর্কে অভিযোগ করবে if। এটা হবে না।

  • স্ক্রিপ্টটি কেবলমাত্র ত্রুটি বার্তায় তৈরি হতে পারে 2: No such file or directory

ব্যাখ্যা

  • [বাশ করার জন্য বিশেষ নয়, তাই < 2যথারীতি পুনর্নির্দেশণা করে। 2বর্তমান ডিরেক্টরিতে নামের সাথে কোনও ফাইল না থাকলে এটি ত্রুটি ঘটায়।

  • উপরের ত্রুটির কারণে, আগের কমান্ডটির &&শূন্য-বহির্গমন স্থিতি থাকবে এবং exitতা কার্যকর হবে না।

  • forলুপ অসীম নয়। আসলে, কোন লুপ নেই। যেহেতু বাশ 2 64৪ তম শক্তি গণনা করতে পারে না, পাটিগণিতের প্রকাশের ফলাফল 0

  • [[ false ]]পরীক্ষা যদি falseএকটি নাল স্ট্রিং হয়। এটি নয়, সুতরাং এই whileলুপটি অসীম।

  • উপরের কারণে, ifবিবৃতিটি কখনই কার্যকর হয় না, সুতরাং কোনও ত্রুটি সনাক্ত করা যায় না।


55

পার্ল

use strict;
use warnings;
Syntax error!
exit 0;

উত্স এবং ব্যাখ্যা: https://stackoverflow.com/questions/11695110


137
পার্ল প্রোগ্রামগুলি সাধারণত ত্রুটির মতো দেখায়।
ugoren

1
@ ইউগোরেন কেবল যখন পার্ল সম্পর্কে অল্প জ্ঞান রাখেন তাদের দ্বারা লিখিত এবং পড়া হয়।
টিএলপি

8
আপনি ভালোবাসবেন যে @ উগোরেনের মন্তব্যে উত্তর হিসাবে দ্বিগুণ আপত্তি রয়েছে :)
'

2
উইন্ডোজ শেল ট্রিকের কথা মনে করিয়ে দেয়, "আপনি যদি খুশি হন এবং আপনি এটি জানেন, সিনট্যাক্স ত্রুটি!"
জোস্টি

47

জাভা

class Gotcha {
    public static void main(String... args) {
        try  {
            main();
        } finally {
            main();
        }
    }
}

এখানে কোনও স্ট্যাকের ওভারফ্লো নেই; বরাবর অগ্রসর.

প্রথম নজরে, এটি একটি উত্পাদন করা উচিত StackOverflowError, কিন্তু এটি না! এটি প্রকৃতপক্ষে কেবল চিরকাল চলে (সমস্ত ব্যবহারিক উদ্দেশ্যে কমপক্ষে; প্রযুক্তিগতভাবে এটি মহাবিশ্বের বয়সের চেয়ে দীর্ঘ পরিমাণের বহু আদেশের পরে শেষ হবে)। আপনাকে জানতে হবে কিভাবে চান / কেন এই কাজ করে, দেখতে এই । এছাড়াও, যদি আপনি ভাবতে থাকেন যে main()মূল পদ্ধতিটিতে সাধারণত একটি String[]যুক্তির প্রয়োজন হয় তবে আমরা কেন তর্ক ছাড়াই কল করতে পারি : এটি কারণ আমরা এটিকে এখানে পরিবর্তনশীল-যুক্তি হিসাবে ঘোষণা করেছি, যা পুরোপুরি বৈধ।


3
আপনার লিঙ্ক করা প্রশ্নটি ব্যাখ্যা করার সাথে সাথে এটি অনির্দিষ্টকালের জন্য চলবে না, বরং এটি একটি দীর্ঘ সময়ের জন্য।
কেভিন

1
@ কেভিন এখানে আসুন অযথা পেডেন্টিক না পেয়ে; "মহাবিশ্বের যুগের চেয়ে দীর্ঘ" হ'ল, সমস্ত ব্যবহারিক উদ্দেশ্যে, "চিরকাল"।
আরশাজী

8
আপনি বলছেন "এখানে কোনও স্ট্যাকের ওভারফ্লো নেই", যখন বাস্তবে, সিস্টেমটি স্ট্যাকের ওভারফ্লোগুলি অবিচ্ছিন্নভাবে ছুঁড়ে ফেলে রাখে এবং অবশেষে স্ট্যাকের ওভারফ্লো ব্যতিক্রম ছুঁড়ে দেয়। (যেমন আপনি উল্লেখ করেছেন, অবশেষে খুব দীর্ঘ সময় হতে পারে) এবং এটি স্ট্যাকের গভীরতার উপর নির্ভর করে। একটি ছোট ভিএম, বা এম্বেড থাকা সিস্টেমে স্ট্যাকের গভীরতা অনেক কম হতে পারে।
ম্যাককে

@ এমসকেএ এই বক্তব্যটি স্পষ্টতই একটি নিক্ষিপ্ত রেখা, এটি আক্ষরিক অর্থে নেওয়া উচিত নয়। ওপি এমন একটি প্রোগ্রাম চেয়েছে যা দেখে মনে হচ্ছে এটির একটি ত্রুটি ঘটানো উচিত, কিন্তু তা নয়। সাধারণ ক্ষেত্রে, উপরের উত্তরটি এই প্রয়োজনটিকে সন্তুষ্ট করে। অবশ্যই, আমরা একটি অস্পষ্ট পরিস্থিতি তৈরি করতে পারি যেখানে এটি না ঘটে তবে উত্তরটি অকার্যকর করে না। আমি আশা করি আপনি আপনার ডাউনটাতে পুনর্বিবেচনা করবেন।
আরশাজী

3
@McKay উপায় দ্বারা, অনুমান স্ট্যাকের আকার হয় ছোট (যেমন 100 যেমন স্বাভাবিক ~ 10,000 উল্টোদিকে), এবং আমরা করতে পারেন এখনও প্রতি সেকেন্ডে 10,000,000 কল করুন। তারপরে মোট চলমান সময়টি 4,019,693,684,133,147 বছর চলে আসে - এখনও মহাবিশ্বের বয়সের তুলনায় বিশালতার অনেকগুলি অর্ডার।
আরশাজি

42

CoffeeScript

What? No error? Yep, this code does not have any bugs, why would it?

?একটি স্পেসের পরে একটি অপারেটর থাকে যা একটি ফাংশনকে কল করে তবে এটি উপস্থিত থাকলেই। জাভাস্ক্রিপ্ট একটি ফাংশন বলা Whatহয় না, সুতরাং ফাংশন বলা হয় না, এবং তার যুক্তি সহজভাবে উপেক্ষা করা হয়। কোডের অন্য শব্দগুলি হ'ল ফাংশন কল যা আসলে বলা হয় না, কারণ Whatফাংশনটি বিদ্যমান নেই। শেষ পর্যন্ত, ?অস্তিত্ব অপারেটর, কারণ এটি কল ফাংশনে ব্যবহৃত হয় না। অন্যান্য বাক্য সমাপ্ত হয়, যেমন পদ্ধতিগুলির জন্য যেমন কাজ করে .বা !কাজ করে না ., এবং !অপারেটর নয় (যা সনাক্তকারী পরে ব্যবহার করা যায় না)। কফিস্ক্রিপ্ট কীভাবে এটি জাভাস্ক্রিপ্টে রূপান্তরিত হয়েছে তা পড়তে, http://coffeescript.org/#try:What%3F%20No%20error%3F%20Yep%2C%20 তম ২০২০ কোডটি ২০২০% ২০২০ নয় ২০২০৯০৯৯০৯০৯০৯০৯০৯০৯০৯০২০bugs% 2C % 20w%% 20%% 20%% 3F


36

VB স্ক্রিপ্ট

&VB স্ক্রিপ্ট মধ্যে অপারেটর স্ট্রিং সংযুক্তকরণের কিন্তু যা জমীনে রয়েছে &&এবং &&&অপারেটরদের? (মনে রাখবেন যে ভিবিএস স্ক্রিপ্টের "এবং" অপারেটর And, তা নয় &&))

x = 10&987&&654&&&321

প্রোগ্রামের খণ্ডটি আইনী ভিবিএস স্ক্রিপ্ট। কেন? এবং এর মান কী x?

লেক্সার এটিকে ভেঙে দেয় x = 10 & 987 & &654& & &321। একটি পূর্ণসংখ্যার আক্ষরিক যা &বিস্মৃতভাবে যথেষ্ট, একটি অক্টাল আক্ষরিক সাথে শুরু হয় । একটি অষ্টাল আক্ষরিক যা শেষ হয় &আরও বিচিত্র, একটি দীর্ঘ পূর্ণসংখ্যা। সুতরাং x এর মান যারা চার পূর্ণসংখ্যার দশমিক মূল্যবোধের সংযুক্তকরণের হল: 10987428209


8
এটা ঠিক ... বাহ!
প্রিমো

27

উদ্দেশ্য গ

কোনও বড় কথা নয়, তবে একটি মন্তব্যের ভিতরে একটি লিঙ্ক রাখার চেষ্টা করার সময় এটি আমাকে অবাক করেছে:

http://www.google.com
        return 42;

HTTP এখানে একটি কোড লেবেল, এই জাতীয় লেবেলগুলি গোটো নির্দেশে ব্যবহৃত হয়


8
এটি //মন্তব্যগুলিকে সমর্থন করে এমন কোনও সি-জাতীয় ভাষায় কাজ করা উচিত ।
ইলমারি করোনেন

হ্যাঁ, সম্ভবত, আমি পোস্ট করার সময় ঠিক নিশ্চিত ছিলাম না
পাইওটার

14
যদিও স্কোপ প্রতি প্রোটোকল প্রতি একটি URL সীমাবদ্ধ করুন।
বেন ভয়েগট

1
আপনি এখনও একই সুযোগে https: // ব্যবহার করতে পারেন।
ফ্লোরিয়ান এফ

25

সি শার্প

class Foo
{
    static void Main(string[] args)
    {
        Bar();
    }

    static IEnumerable<object> Bar()
    {
        throw new Exception("I am invincible!");
        yield break;
    }
}

যেহেতু Barপদ্ধতিটি একটি করে yield, পদ্ধতিটি আসলে ডাকা হয় না, এটি একটি এনমিওরেটারকে ফেরত দেয় যা পুনরাবৃত্ত হলে, পদ্ধতিটি চালায়।


শেষ
অবধি

1
এটিই ফু ও বারের জন্য;) জিনিসগুলির নাম যা আসলে কিছু যায় আসে না।
ম্যাককে

22

সি

main=195;

X86 প্ল্যাটফর্মগুলিতে কাজ করে, যেখানে ১৯৫ টি রেটের জন্য অপকড। কিছুই করে না,


Ret এর জন্য অপকোডটি 1953, 193 নয়, তাই না?
ডেনিস

আমার জন্য কাজ করে না। আমি এই ঠিকানায় 195. এ কোড চালানো আশা করতে চাই
nwellnhof

ডাবনিস @ টিবানস, কোডটি সঠিক ছিল, ব্যাখ্যাটি ভুল ছিল।
ugoren

3
যে কোনও প্ল্যাটফর্মে ( আধুনিক x86 সহ ) যেখানে পৃষ্ঠাগুলি নির্বাহযোগ্য না হয়ে পঠনযোগ্য হতে পারে সেখানে প্রবেশের পরে এটি ক্র্যাশ হবে mainকারণ mainডেটা বিভাগে স্থাপন করা হয়েছে, যা কার্যকর হয় না। মজাদারভাবে, ক্র্যাশ const int main=195হবে না (x86 এ) (তবে একটি আবর্জনা থেকে বেরিয়ে যাওয়ার স্থিতি তৈরি করবে) কারণ .rodataডিফল্টরূপে একই বিভাগে রাখা হয় .textএবং তাই এটি কার্যকর হয়। ( const char main[]="1\300\303";সফলভাবে প্রস্থান করবেন! (এখনও x86- এ))
zwol

2
আমি একটি 64 বিট মেশিনে আছি (আমি জানি না এটি কিছু পরিবর্তন করবে কিনা) এবং প্রধান = 195 একটি সেগফোল্ট দেয় তবে কনট ইন্ট মেইন = 195; কাজ করে।
w4etwetewtwet

21

জাভা

সম্ভবত খুব সুস্পষ্ট।

public static void main(String[] varargs) throws Exception{
    char a, b = (char)Integer.parseInt("000d",16);
    // Chars have \u000d as value, so they're equal
    if(a == b){
        throw new Exception("This should be thrown");
    }
}

কি?

এর পরে একটি সিনট্যাক্স ত্রুটি ছুড়ে দেয় \u000d\u000dএকটি নতুন লাইনের জন্য ইউনিকোড। যদিও এটি মন্তব্য করা হয়েছে, জাভা সংকলক এর পরে যা আছে তা কোড হিসাবে বিবেচনা করে কারণ এটি আর কোনও মন্তব্য করা হয়নি out


11
আপনার varargsভ্যারাগস নয়;)
নবীন

প্রশ্নটি ছিল "এমন কোড যা দেখে মনে হচ্ছে এটি ব্যর্থ হয় তবে" হয় না, "কোডটি মনে হয় না যে এটি ব্যর্থ হয়, তবে এটি অন্যভাবে করে"। ব্যতিক্রমের পরিবর্তে সিন্টেক্স ত্রুটি থাকা এখনও ত্রুটি।
Nzall

19
আমি মনে করি আপনার আবার মূল প্রশ্নটি পড়া উচিত: "বা অন্য কোনও সম্পর্কযুক্ত ত্রুটি তৈরি করে" "
টম ভেরেলেস্ট

প্রকৃতপক্ষে, এটি ছাড়া \u000dএটি অনির্ধারিত মানের একটি রেফারেন্স ব্যবহার করবে a
LegionMammal978

19

সি ++

#include <iostream>

int succ(int x)
{
  return x + 1;
}

int succ(double x)
{
  return int(x + 1.0);
}

int succ(int *p)
{
  return *p + 1;
}

int main()
{
  std::cout << succ(NULL) << '\n';
}

কেন?

NULLএটি একটি ইন্টারজাল ধ্রুবক, সুতরাং এটি intওভারলোডের সাথে int*একের চেয়ে আরও ভালভাবে মেলে । তবুও, বেশিরভাগ প্রোগ্রামাররা NULLপয়েন্টারগুলির সাথে জড়িত রয়েছে, তাই নাল পয়েন্টারটির অবকাশ আশা করা যায়।


11
ধন্যবাদ, সি ++ 11 বাস্তবায়নগুলি এটি NULLহিসাবে সংজ্ঞায়িত করার অনুমতি দেয় nullptrএবং এমন বাস্তবায়নগুলি (যা এখনও আমি জানি না তবে আমি সেগুলি প্রত্যাশা করি) প্রত্যাশিত বিভাজন ত্রুটি দেবে।
এইচডিভি

16

পাইথন

print """""quintuple-quoted strings!"""""

পুরোপুরি বৈধ, তবে আউটপুট অনুমান করা শক্ত। প্রথম 3 "অক্ষরগুলি একটি বহুভূমিক স্ট্রিং শুরু করে এবং পরের দুটি স্ট্রিংয়ের অংশ। ।


20
শুধু একটি বোনাস: print """""""""Python strings don't have to start with the same number of quotes they end with."""""
কনরাড বোরোস্কি

15

জাভাস্ক্রিপ্ট

if (1/0 === -1/0) {
  throw "Surely there's an error in here somewhere...";
}

কিভাবে এটা কাজ করে:

জেএসে ইতিবাচক এবং নেতিবাচক অনন্ত রয়েছে, এবং শূন্য দ্বারা ভাগ করার জন্য কোনও ত্রুটি নেই।


2
আপনি NaN এর সাথেও কিছু কৌশল করতে সক্ষম হবেন ...
intx13

8
মেহ, এটি কোনও ভাষায় ভাসমানগুলির সাথে ঘটে।
নবীন

3
@ নাভিন: ভাসমান এমন কোনও ভাষায় যেখানে শূন্য দ্বারা বিভাজন ত্রুটির কারণ ঘটায় না।
nwk

2
@nwk ফ্লোটের আইইইই স্ট্যান্ডার্ড বলছে শূন্য দ্বারা বিভাজন অবশ্যই একটি বাচ্চা হবে। আমি এমন কোনও ভাষা জানি না যা এটি পরিবর্তন করে।
নবীন

1
আইইইই 754 দুটি মডেল নির্দিষ্ট করে: নাএন / ইনফ সংকেত দেয় (যা এফপি শূন্য বিভাগ, -1 থেকে স্কোয়ার রুট, আন্ডারফ্লো / ওভারফ্লো ইত্যাদি) এবং অ-সিগন্যালিং (যা ভালভাবে সংজ্ঞায়িত গণিতের সাথে নিয়মিত আর্জেব্রাইক মানের মতো আচরণ করে) NaN/ Infতাদের উপর)। আধুনিক এফপি হার্ডওয়্যার উভয় পদ্ধতিতে পরিচালনা করতে কনফিগার করা যেতে পারে। ভাষা অ্যাগনোস্টিক; না জানি লজ্জা।
ulidtko

14

সি ++

ট্রিগ্রফ এবং স্পেস-কম ল্যাম্বডাসের মিশ্রণটি বেশ বিভ্রান্তিকর হতে পারে এবং অবশ্যই ট্রিগারগুলি সম্পর্কে অবগত নয় এমন লোকদের কাছে ভুল দেখায়:

int main()
{
    return??-??(??)()??<return"??/x00FF";??>()??(0??);
}

কিভাবে এটা কাজ করে:

3 টি প্রতীক নিয়ে কিছু ক্রম, ?? দিয়ে শুরু করে, ট্রাইগ্রাফ বলা হয় এবং সম্পূর্ণ-সম্মতিযুক্ত প্রিপ্রোসেসর দ্বারা প্রতিস্থাপিত হবে। প্রসেসসড, প্রশ্নের লাইনটি নিম্নরূপ দেখায়: ~ [] () {রিটার্ন "\ x00FF"; } () [0]; যেমনটি দেখতে পাচ্ছে, এটি 0xFFth অক্ষরের সমন্বিত একটি স্ট্রিং ফিরিয়ে দেওয়া একটি অতিরিক্ত অতিরিক্ত ল্যাম্বদা ফাংশন ছাড়া কিছুই নয়। [0] ঠিক যে চরিত্র চায়ের এবং ~ এটা নাস্তিমান, তাই 0 ফিরিয়ে দেওয়া হয়।


12
বৈধ সি ++ প্রোগ্রামটি int main(){(([](){})());}
ট্রিপ্র্যাড করার

1
সে কী করে?
জো জে।

1
@ জো জেড [](){}একটি ল্যাম্বদা ফাংশন, ঠিক [](int a){return a+1;}যেমন একটি। ([](){})()সেই ফাংশনটিকে কল করে, voidযদি আমার ভুল না হয় তবে ফিরে আসে । পুরো (([](){})());তারপর নিচে boils (void);, যা একটি বিবৃতি কিছুই করছে। mainতারপরে ঠিক শূন্যটি ফিরে আসে, যেমন এটি returnবিবৃতি ছাড়াই উচিত ।
টমসডিং

13

VBA / ভিবি 6

Private Sub DivByZero()

    Dim x() As String
    x = Split(vbNullString, ",")

    Debug.Print 1 / UBound(x)

End Sub

একটি খালি কমা সীমানাযুক্ত স্ট্রিং বিভক্ত করা একটি খালি অ্যারে দেওয়া উচিত। শূন্য ত্রুটি দ্বারা একটি সুস্পষ্ট বিভাগ হওয়া উচিত, তাই না?

নাঃ। আশ্চর্যজনকভাবে, যখন কোনও শূন্য দৈর্ঘ্যের স্ট্রিংটি রানটাইম বিভক্ত হয় তখন আপনাকে 0 এর নীচের বাউন্ড এবং -1 এর উপরের সীমানা সহ একটি অ্যারে দেয়। উপরের কোডটি আউটপুট -1 করবে।


@ এমনিটেক আসলে, আপনি যদি ইউবাউন্ডে একটি খালি অ্যারে পাস করেন তবে এটি আপনাকে পরিসীমা ত্রুটির বাইরে একটি সাবস্ক্রিপ্ট দেবে।
কমিন্টার্ন

... ভাল। আমি এটি ফেরত চাই.
ভিবিএ

1
@ মিনিটেক ইয়েপ আমি বুঝতে পারি এটি ভিবি 6-এ স্প্লিটের মূল বাস্তবায়নের মধ্যে একটি বাগ ছিল। .NET এ তারা ইচ্ছাকৃতভাবে "যুক্ত" (বা সম্ভবত ডকুমেন্টেড আরও ভাল শব্দ) এই হ্যাকের সুবিধা নিয়েছে এমন সমস্ত ভিবি 6 কোডের সাথে পশ্চাদপটে সামঞ্জস্যতা বজায় রাখার জন্য খালি অ্যারেগুলির -1-এর একটি ইউবাউন্ড ফেরত দেওয়ার আচরণ। কোনও নাল স্ট্রিংকে বিভক্ত করা কেবলমাত্র উইন্ডোজ এপিআই কল ছাড়াই ভিবিএ / ভিবি 6-এ এই অ্যারেটি পাওয়ার একমাত্র উপায়।
কামিন্টার্ন

12

জাভাস্ক্রিপ্ট

5..toString();
5 .toString();

দেয়: 5

যেখানে:

5.toString();

সিনট্যাক্সেরর দেয়

কিভাবে এটা কাজ করে:

জাভাস্ক্রিপ্ট ভাসমান পয়েন্ট আক্ষরিক হিসাবে একটি সংখ্যার উপর বিন্দু বিশ্লেষণ করার চেষ্টা করে


13
এটি কীভাবে ঘটল যে আপনি আমার ঠিক এক ঘন্টা পরে আমার মতো পোস্ট করেছিলেন ?
ভিজিওন 11

1
ওহে দৃষ্টি, দুঃখিত তবে আমি আপনার উত্তরটি যাচাই করিনি। আমি স্পেসের সাথে একটি কেসও যুক্ত করেছি। আমি এটি একবার জাভাস্ক্রিপ্ট বাগানে পড়লাম আর কিছুই নয়।
সুমিত কাশ্যপ

1
সুমিত, দুঃখিত না। আপনার উত্তরটি ভিজিওএন-র উত্তরের চেয়ে সুন্দর - এবং আরও পরিষ্কার।
নিকোলাস বারবুলেসকো

12

এইচটিএমএল

এখানে প্রথম পোস্ট, আমি নিশ্চিত যে আমি এটি পেয়েছি বা পাব না, তবে এখানে যায়।

<html>
    <head></head>
    <body>
        <?php $_POST['non-existant'] = $idontexisteither ?>
    </body>
</html>

এটি একটি .htmlফাইল ...


9
সুতরাং কৌশলটি কেবলমাত্র এটি পিএইচপি ব্লকটি কার্যকর করবে না কারণ ফাইলটির .htmlএক্সটেনশন রয়েছে এবং আপনার ওয়েব সার্ভার .htmlপিএইচপি হিসাবে ফাইলগুলি পার্স করার জন্য কনফিগার করা হয়নি ?
ভিজিওন

5
হ্যাঁ. এই প্রতারণা হয়? @ ভিজিওএন
আলবিজি

2
আমি নিশ্চিত যে এটি প্রতারণা করছে pretty সর্বনিম্ন নীচে শীর্ষে গা bold় "HTML" লিখুন।
নবীন

সুন্দর! :-) কৌশলটি আমার উপর কাজ করেছিল।
নিকোলাস বারবুলেসকো

1
এটি কোন ভাষায় লিখিত আছে তা পরিষ্কার করার জন্য আমি সম্পাদনা করেছি
ভাইজ্রাক্স

9

পিএইচপি (40 বাইট)

<?for(;;$e.=$e++)foreach($e::$e()as&$e);

এই প্রশ্নের আমি এই প্রশ্নের উত্তর দিয়েছি: উন্মাদতা পরীক্ষা প্রোগ্রাম

ধারণাটি ছিল এমন একটি কোড তৈরি করা যা ত্রুটি তৈরি করেছিল।

1 তম ত্রুটি যা আমরা ভাবব, তা একটি সিনট্যাক্স ত্রুটি।

কোনও সিনট্যাক্স ত্রুটি নেই ...

অন্যটি হ'ল ক্লাস / ফাংশনটির অস্তিত্ব নেই।

এটি এতদূর চলে না ...

অন্যান্য সময়সীমা বা স্মৃতি ওভারফ্লো হতে পারে, কিন্তু, আবার, এটি এতদূর পৌঁছায় না ...

কোডটি এখানে পরীক্ষা করুন: http://writecodeonline.com/php/ ( <?পরীক্ষার শুরুতে অপসারণ করুন )।


3
এটি একটি জনপ্রিয়তা প্রতিযোগিতা। বাইটস সংরক্ষণ করতে আপনার কোড ক্র্যাম্প করার দরকার নেই। আরও ভাল পঠনযোগ্যতার জন্য এটি পুনরায় ফর্ম্যাট করুন;)
স্যাঙ্গো

আমি পরে একটি পাঠযোগ্য সংস্করণ যুক্ত করব। আমি একই সঠিক উত্তরটি ব্যবহার করেছিলাম এবং এটিকে সম্পাদনাও করি নি।
ইসমাইল মিগুয়েল

foreach(e()as&$e);এই সমাধান মূল। e()এটি কেবল সিনট্যাক্স-পরীক্ষককে চালিয়ে যাওয়া এবং তার &$eপরে asব্যর্থতার কারণ হয়।
দ্য কনস্ট্রাক্টর

আসলে, সবকিছুই একটি গুরুত্বপূর্ণ ভূমিকা পালন করে।
ইসমাইল মিগুয়েল

9

VB স্ক্রিপ্ট

ভিজ্যুয়াল বেসিক 6 ব্যবহারকারী এটি জানবে

If Blah Then Foo Bar

আইনী, যেমন আছে

If Blah Then 
    Foo Bar
End If

কিন্তু কি ব্যাপারে

If Blah Then Foo Bar End If

? দেখা যাচ্ছে যে ভিবিএস স্ক্রিপ্টে বৈধ তবে ভিবি 6-তে নয়। কেন?

এটি পার্সারে একটি বাগ; উদ্দেশ্য এই প্রত্যাখ্যান ছিল। যে কোডটি সনাক্ত করে End Ifএটিতে এটি একটি বহু-লাইন Ifবিবৃতি ছিল কিনা তাও খতিয়ে দেখার কথা ছিল , এবং তা হয়নি। আমি যখন এটি সংশোধন করার চেষ্টা করেছি এবং ফিক্সটির সাথে একটি বিটা প্রেরণ করেছি, তখন একটি নির্দিষ্ট প্রভাবশালী শিল্প সংবাদ সংস্থা আবিষ্কার করেছে যে তাদের একটি ভিবিএস স্ক্রিপ্ট প্রোগ্রামে কোডের এই লাইন রয়েছে এবং তারা বলেছে যে আমরা নতুন সংস্করণটিকে কম রেটিং দেবো যদি না আমরা অবতীর্ণ না হই বাগ সংশোধন করে, কারণ তারা তাদের উত্স কোডটি পরিবর্তন করতে চায় নি।


আপনি ভিবি 6-তে বৈধ নয় এমন ভিবিএস কোড লেখার অনুমতি ব্যতীত বাগটি স্থির করে দেওয়ার কোনও অসুবিধা আছে কি?
গাবে

1
@ গ্যাবে: না, ভিবিএস স্ক্রিপ্ট কোডকে ভিবিতে পোর্ট করা শক্ত হওয়া ছাড়া আর কোনও খারাপ দিক নেই।
এরিক লিপার্ট

1
একটি নাম ! এই সংবাদ সংস্থা কে?
নিকোলাস বারবুলেসকো

9

সি

আমি সি শিখলে এটি আমার একটি ত্রুটির কথা মনে করিয়ে দিল যা দুঃখের বিষয় মূল আসল রূপটি কোনও বর্তমান জিসিসির সাথে কাজ করছে বলে মনে হয় না, তবে এটি এখনও করেন:

#define ARR_SIZE 1234
int main() {
    int i = ARR_SIZE;
    int arr[ARR_SIZE];
    while(i >= 0) {
        (--i)[arr] = 0;
    }
    i = *(int*)0;
}

এই স্পষ্টতই segfaults কারণ আমরা একটি নাল পয়েন্টার অবচয়, ডান?

ভুল - আসলে আমাদের লুপের অবস্থা একেবারে বন্ধ হয়ে যাওয়ায় এটি একটি অসীম লুপ। উপসর্গ হ্রাসের কারণে, i1023 থেকে -1 পর্যন্ত চলে। এর অর্থ অ্যাসাইনমেন্টটি কেবলমাত্র সমস্ত উপাদানগুলিকেই নয় arr, সরাসরি তার আগে মেমরির অবস্থানটিও ওভাররাইট করে which যা স্থানটি যেখানে iসঞ্চিত থাকে সেখানে ঘটে । পৌঁছানোর পরে -1, iএটিকে নিজের সাথে ওভাররাইট করে 0এবং এভাবে লুপের শর্তটি আবার পূরণ হয় ...

এটিই ছিল আসল রূপটি যা আমি আর পুনরুত্পাদন করতে পারি না:

একই জিনিসটি i0 থেকে উপরের দিকে যেতে এবং একে একে বন্ধ হয়ে যাওয়ার সাথে কাজ করেছিল । সর্বশেষতম জিসিসি সর্বদা স্মৃতিতে iআগে সঞ্চয় করে arr; পুরানো সংস্করণগুলিতে এটি অবশ্যই আলাদা ছিল (সম্ভবত ঘোষণার আদেশের উপর নির্ভর করে)। এটি সত্যই ত্রুটি ছিল যা আমি অ্যারে নিয়ে কাজ করে আমার প্রথম খেলনা প্রোগ্রামের একটিতে উত্পাদিত হয়েছিল।

এছাড়াও, যদি আপনি সিটিতে পয়েন্টারগুলি কীভাবে কাজ করে তা জানেন তবে আপনি যদি এটি না করেন তবে এটি একটি স্পষ্ট can

আপনি মনে করতে পারেন যে অ্যাসাইনমেন্টটি (--i)[arr]একটি ত্রুটি ছুড়েছে, তবে এটি বৈধ এবং সমতুল্য arr[--i]। একটি অভিব্যক্তি a[x]কেবল সিনট্যাকটিক চিনি *(a + x)যার জন্য সূচকযুক্ত উপাদানের দিকে নির্দেশককে গণনা করে এবং শ্রদ্ধা করে; সংযোজন অবশ্যই পরিবর্তনীয় এবং এর সমতুল্য *(x + a)


1
আমি যতদূর দেখতে পাচ্ছি, লুপের বডিটি কখনই কার্যকর করা উচিত নয় (কারণ 1234 <= 0 মূল্যায়নের ক্ষেত্রে মিথ্যা)। আপনার সম্ভবত "> =" লেখার অর্থ ছিল?
celtschk

1
হ্যাঁ, এটি টাইপও ছিল দেখার জন্য ধন্যবাদ!
l4mpi

এই মেমরি প্রান্তিককরণটি আসলে নির্দিষ্ট করা হয়েছে, বা কিছু সংকলকগুলিতে কেবল এইভাবে প্রয়োগ করা হয়েছে?
পাওলো ইবারম্যান

9

জাভা

public class WhatTheHeckException extends RuntimeException {
    private static double d;        // Uninitialized variable
    public static void main(String... args) {
        if (d/d==d/d) throw new WhatTheHeckException();
        // Well that should always be true right? == is reflexive!

        System.out.println("Nothing to see here...");
    }
}

এটি কেন কাজ করে:

ইউনিটিয়ালাইজড ফিল্ডগুলির ডিফল্ট মান রয়েছে। এই ক্ষেত্রে ডি মাত্র 00/0 = ডাবল বিভাগে NaN , এবং NaN কখনই নিজের সমতুল্য হয় না, তাই যদি মিথ্যা প্রত্যাবর্তন করে। মনে রাখবেন আপনি ছিল এই কাজ করবে না 0/0 == 0/0 , এ হিসাবে পূর্ণসংখ্যা হবে 0/0 বিভাজন হবে একটি নিক্ষেপ করা হবে ArithmeticException


8

সি ++ 11

struct comp {
    comp operator compl () { return comp { }; }
    operator comp () { return comp { }; }
    compl comp () { return; comp { }; }
};

int main() {
    comp com;
    compl com;
}

সংকলন করে এবং কোনও সতর্কতা ছাড়াই চলে g++ -pedantic-errors -std=c++11

complএর জন্য একটি আদর্শ বিকল্প বানান ~, ঠিক notযেমন একটি বিকল্প !complপ্রথমে ওভাররাইড operator~এবং তারপরে একটি ডেস্ট্রাক্টর সংজ্ঞায়িত করতে এখানে ব্যবহৃত হয় । আর একটি কৌশলটি হ'ল operator compএটি রূপ compথেকে নিজের মধ্যে রূপান্তর ফাংশন । আশ্চর্যজনকভাবে স্ট্যান্ডার্ডটি এ জাতীয় রূপান্তর ফাংশনকে নিষেধ করে না - তবে এটি বলে যে এই জাতীয় ফাংশন কখনই ব্যবহৃত হয় না।


8

VB স্ক্রিপ্ট

function[:(](["):"]):[:(]=["):"]:
end function
msgbox getref(":(")(":)")

'Output: :)

এর মানে কি:

ভিবিএস স্ক্রিপ্টে ফাংশন, সাব এবং ভেরিয়েবল নামগুলি আপনি বর্গাকার বন্ধনী ব্যবহার করে কিছু হতে পারে। এই স্ক্রিপ্টটি একটি ফাংশন বলে :(এবং একটি যুক্তি তৈরি করে "):"তবে তারা সাধারণ নামকরণের কনভেনশন অনুসরণ না করে কারণ তারা বর্গাকার বন্ধনী দ্বারা ঘিরে রয়েছে। রিটার্ন মানটি প্যারামিটার মানতে সেট করা আছে। একটি লাইনে সমস্ত কিছু পেতে অতিরিক্ত কোলন ব্যবহৃত হয়। Msgbox বিবৃতিটি ফাংশনটির জন্য একটি রেফারেন্স পেয়েছে (তবে বন্ধনীগুলির প্রয়োজন নেই) এবং এটিকে :)প্যারামিটার হিসাবে একটি স্মাইলি সহ কল ​​করে ।


1
অনেক ভ্রান্ত মুখ :(
জো জে।

8

সি শার্প

আসলে আমি নিজেকে ভুল করে ভুল করতে পেরেছিলাম যে :)

public static object Crash(int i)
{
    if (i > 0)
        return i + 1;
    else
        return new ArgumentOutOfRangeException("i");
}

public static void Main()
{
    Crash(-1);
}

নিক্ষেপ , ফিরে না ।


হাহাহা, সাইটে আপনাকে স্বাগতম! প্রথম সাহেব হিসাবে এর সাহসিকতার জন্য কুডোস। :)
জোনাথন ভ্যান মাত্রে

7

জাভা

enum derp
{

    public static void main(String[] a)
    {
        System.out.println(new org.yaml.snakeyaml.Yaml().dump(new java.awt.Point()));
    }
}

এবং এটি কীভাবে কাজ করে:

আপনার মনে হয় এনুম বৈধ নয় তবে এটি বৈধ; তারপরে আপনি ভাবেন যে এটি কোনও স্ট্যান্ডার্ড পয়েন্ট অবজেক্ট অ্যাট্রিবিউটগুলি মুদ্রণ করবে তবে গোচা! কীভাবে স্নেকিয়ামল ক্রমিকায়িত করে আপনি একটি মসৃণ স্ট্যাকওভারএফ ত্রুটি পান

এবং অন্য একটি:

enum derp
{

    ;public static void main(String[] a)
    {
        main(a);
    }
    static int x = 1;

    static
    {
        System.exit(x);
    }
}

আপনি মনে করেন যে একটি স্ট্যাকওভারফ্লো সুস্পষ্ট পুনরাবৃত্তির কারণে ঘটবে তবে প্রোগ্রামটি এই সত্যটি অপব্যবহার করে যে আপনি এটি চালানোর সময় static{} blockপ্রথমে মৃত্যুদন্ড কার্যকর করা হবে এবং এর ফলে এটি মূল () লোডের আগে বেরিয়ে আসে before

enum derp
{

    ;
        public static void main(
            String[] a)
    {
        int aa=1;
        int ab=0x000d;
        //setting integer ab to \u000d  /*)
        ab=0;

        /*Error!*/
        aa/=ab;
    }
    static int x = 1;
}

এইটি /*Error*/মন্তব্য করা আবশ্যক কোডটির উপর নির্ভর করে ab = 0 এর আগে খোলা মন্তব্যের জন্য সমাপনী পয়েন্ট হিসাবে; পূর্ণসংখ্যা সম্পর্কে ab 0x000d পরবর্তী লাইনের মন্তব্যআউট সক্রিয় করতে নতুন লাইনটি লুকিয়ে রাখে


1
আমি এখনই পারছি না, তবে আপনি যদি সম্ভব হয় তবে এটি পুনরায় ফর্ম্যাট করতে ভাল লাগবে। এটি পড়তে কিছুটা কঠিন ...: পি
জোস্টি

তাদের আরও স্পষ্ট করে তুলেছে; এবং স্পয়লার ট্যাগগুলি উদ্দেশ্যগুলি
হ'ল

2
অপেক্ষা করুন, তাহলে প্রথমটি আসলে একটি ত্রুটি ঘটায়? প্রশ্নটি যা জিজ্ঞাসা করছে তার বিপরীত। এবং দ্বিতীয়টিতে কেন কেবল সিস্টেম.এক্সিট (1) নয়?
7'14 রিকিং

3
কোনও জাভা প্রোগ্রামার দ্বিতীয় স্নিপেটে স্ট্যাকের ওভারফ্লো আশা করবে না। দুঃখিত, এটি এখন পর্যন্ত খুব সুস্পষ্ট।
টোবিয়াস

1
@ ভিভি কে কোডগল্ফিংয়ের অভ্যাসের enum{পরিবর্তে class{তখন একটি বাইট সংরক্ষণ করুন
এক্স 244

6

সি

স্ট্রিং এবং সি তে অ্যারেগুলি বিভ্রান্তিকর হতে পারে

main(){
  int i=0;
  char string[64]="Hello world;H%s";
  while(strlen(&i++[string])){
    i[' '+string]=string[i]-' ';
  }
  5[string]=44;
  return printf(string,'!'+string);
}

9
এটি পড়া শক্ত, তবে আমি জানি না যে লোকেরা এ থেকে কী ধরণের ত্রুটি আশা করে
ব্রায়ান চেন

3
আমি কেবল বৈধ তবে অপ্রচলিত স্বরলিপি লোকদের মনে করিয়ে দিতে চেয়েছিলাম - আপনি যা চান তা তৈরি করুন। এটি বৈধ হওয়ার আগে আমি অবশ্যই তিনবার দেখতে চাই। প্রথমত, 5 [স্ট্রিং] এর মতো এক্সপ্রেশন একটি নৈমিত্তিক কোডার হিসাবে ভাল জানা যায় না এবং অ্যারে সূচকের যুক্তিকে অস্বীকার করে। দ্বিতীয়ত, '' + স্ট্রিং অ্যাডিংগুলি 2 টি স্ট্রিংয়ের মতো দেখায় তবে ভুল ধরণের উদ্ধৃতি সহ। এবং তৃতীয়ত, & i ++ দেখতে পূর্ণসংখ্যার ঠিকানার মতো দেখায় (তবে অগ্রাধিকারটি সেটির যত্ন নেয়)। অবশেষে, আমরা স্ট্রিং আক্ষরিক (কিন্তু বড় ব্যাকিং বাফারের বাইরে নয়) এর বাইরে লিখছি।
অরিওশন

খুব খারাপ মনে হয় না। আমি কেবল সি ++ তে একটু কোড করেছি, তবে আমি এটি বের করতে পারি।
নবীন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.