Javascript left-pad golf


27

บทนำ

ในกรณีที่แพ็กเกจ npm ของแพ็ตเก็ตซ้าย หลุดออกมาเราจะมีโค้ดกอล์ฟเพื่อนำไปใช้กับ pad ซ้าย

ซ้ายแผ่นฟังก์ชั่นประกอบด้วย 2 ข้อโต้แย้งค่าเริ่มต้นและ 1 อาร์กิวเมนต์เพิ่มเติมในรูปแบบสตริง , ความยาว ( padchar ) หาก padchar ที่ไม่ได้รับนี้เป็นมาตรฐานให้กับตัวละครของพื้นที่ ลองมาตัวอย่างที่มีสองข้อโต้แย้ง:

left_pad("abc", 6)

ครั้งแรกที่เราสังเกตความยาวของสตริงซึ่งเป็น3 หลังจากนี้เราต้องวางสตริงนี้ทางซ้ายจนกระทั่งความยาวของสตริงเต็มถึงความยาวที่กำหนดในฟังก์ชั่น ในกรณีนี้6 เนื่องจากไม่ได้รับ padchar เราจำเป็นต้อง pad นี้ด้วยช่องว่าง:

   abc

นี่คือสตริงที่มี 3 ช่องว่างและสตริงเริ่มต้นทำให้เป็นสตริงที่มีความยาว 6 นี่คือตัวอย่างที่มี padchar ที่กำหนด:

left_pad("abc", 6, "-")

เราแค่ทำเช่นเดียวกับตัวอย่างด้านบน แต่แทนที่ช่องว่างด้วย padchar ในกรณีนี้เครื่องหมายขีดคั่น:

---abc

งาน

ที่กำหนดสตริง , ความยาวและอาจอาร์กิวเมนต์เพิ่มเติมpadcharผลผลิตสตริงซ้ายเบาะ คุณสามารถสันนิษฐานได้ว่าหมายเลขความยาวเท่ากับหรือมากกว่าความยาวของสตริง padchar จะประกอบด้วย 1 อักขระเสมอ

กรณีทดสอบ

left_pad("string", length, ("padchar")) === "left-padded string"

left_pad("foo", 5) === "  foo"
left_pad("foobar", 6) === "foobar"
left_pad("1", 2, "0") === "01"
left_pad("1", 2, "-") === "-1"

นี่คือดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ!


13
@ m0sa ยังมีปัญหาอีกสองสามข้อ การจำกัดความท้าทายให้กับจาวาสคริปต์นั้นเป็นสิ่งที่ท้อแท้อย่างยิ่ง - ไม่มีเหตุผลที่ภาษาอื่นไม่สามารถเข้าร่วมได้ ข้อมูลจำเพาะควรอธิบายถึงพฤติกรรมที่ต้องการและช่วงของอินพุตที่ได้รับอนุญาตโดยไม่จำเป็นต้องติดตามลิงก์ ยังไม่ชัดเจนว่าจะจัดการพารามิเตอร์ที่สามได้อย่างไร
xnor

8
ฉันมั่นใจว่าการอ้างอิงที่เกี่ยวข้องกับ Javascript นั้นสามารถสร้างแรงบันดาลใจได้โดยไม่ต้องพูดว่า "ดังนั้นจึงไม่อนุญาตให้ใช้ภาษาอื่นในการเล่น" หากคุณสนใจที่จะเห็นรายการ Javascript ที่ดีที่สุดคุณสามารถเสนอเงินรางวัลได้ในขณะที่ยังคงเปิดรับความท้าทายสำหรับภาษาอื่น ๆ
trichoplax

6
คำถามภาษาเดียวไม่ได้รับอนุญาตหรือไม่ หากพวกเขาถูกห้ามให้ปิดสิ่งนี้ หากพวกเขาได้รับอนุญาตให้ OP จำกัด คำถามตามที่ต้องการ
Sklivvz

10
@Sklivvz (และ m0sa) มีกรณีที่หายากซึ่งความท้าทายเฉพาะด้านภาษานั้นสมเหตุสมผลโดยเฉพาะอย่างยิ่งหากความท้าทายนั้นต้องการคุณสมบัติที่เป็นเอกลักษณ์ของภาษาเพื่อให้เข้าใจหรือแม้แต่เป็นความท้าทายในตอนแรก นั่นเป็นเหตุผลหลักที่ได้รับอนุญาตและทำไมฉันถึงต่อต้านการไม่อนุญาตอย่างสมบูรณ์ ที่กล่าวว่าสำหรับความท้าทายใด ๆ ที่ไม่ทำให้ความรู้สึกในภาษาใด ๆ ไม่มีเหตุผลที่ดีที่จะ จำกัด ไว้เฉพาะภาษาหนึ่ง มิฉะนั้นเราจะมี "เรียงลำดับอาร์เรย์ใน JavaScript", "เรียงลำดับอาร์เรย์ใน Ruby", "เรียงลำดับอาร์เรย์ใน Python" ... และความท้าทายอีก 300 รายการที่ไม่มีประโยชน์เลย
Martin Ender

8
@Sklivvz ดังที่ trichoplax กล่าวว่านี่เป็นแรงบันดาลใจที่ดีสำหรับความท้าทาย แต่มันก็ทำให้งานการประมวลผลสตริงที่เรียบง่ายเป็นเรื่องที่เข้าใจได้ง่ายในภาษาอื่น ความท้าทายนั้นไม่ยากยากนักทำได้หรือน่าสนใจใน JavaScript เมื่อเทียบกับภาษาอื่น (โดยเฉพาะบางคนอาจไม่รู้เกี่ยวกับแพคเกจแผ่นซ้ายและยังคงถามคำถามนี้โดยไม่มีข้อ จำกัด ด้านภาษาและคำตอบใน JavaScript จะไม่ ' ไม่ได้รับผลกระทบเลยและไม่มีใครคิดว่า "ทำไมจึงไม่ใช่แค่ JS นี้เท่านั้น")
Martin Ender

คำตอบ:


20

Pyth, 13 11 ไบต์

+*.xwd-Qlzz

ลองได้ที่นี่

รับอินพุตจาก STDIN เป็นสตริงบนบรรทัดแรกความยาวของบรรทัดที่สองและการเว้นระยะที่เป็นทางเลือกบนบรรทัดที่สาม


4
นี่เป็นเพียงจาวาสคริปต์เท่านั้น
MMM

22
@MMM ข้อ จำกัด ด้านภาษาในความท้าทายนั้นไม่ชอบในระดับสากลมากจนฉันคาดว่ามันจะถูกมองข้าม ไม่มีใครชอบที่จะบอกว่า " คุณไม่สามารถเข้าร่วม"
xnor


2
ติดกับผู้ชาย! คุณไปที่ลูกบิดประตู! อย่าปล่อยให้ความฝันของคุณเป็นความฝัน! แค่ทำมัน!
Mave

4
'เป็นสังคมที่ชั่วร้ายที่ผู้ดำเนินรายการเป็นผู้ที่ไม่เชื่อฟัง!
Ven

13

JavaScript (ES6), 43 ไบต์

f=(s,n,p=" ",r=p)=>(r+=s+="")[n]?s:f(r,n,p)

1
คุณไม่มีพารามิเตอร์ที่สาม
m0sa

@ m0sa ขอบคุณคงแล้ว
Neil

มันล้มเหลวในการทดสอบครั้งที่สามตอนนี้ ;-)
Sklivvz

1
@Sklivvz ฮึนั่นคือสิ่งที่ฉันได้รับจากการไม่อ่านข้อกำหนดอย่างถูกต้อง
Neil

แทนที่จะp+=sเพิ่มคุณสามารถเพิ่ม 2 ไบต์เพื่อให้p+=[s]ทำงานได้
Aplet123

7

JavaScript (ES6), 37 43 44 ไบต์

(a,n,c=' ')=>((c+'').repeat(n)+a).substr(-n)

ทดสอบ:

> f=(a,n,c)=>((c?c:" ").repeat(n)+a).substr(-n)
< function (a,n,c)=>((c?c:" ").repeat(n)+a).substr(-n)
> f('foo', 5) === '  foo';
< true
> f('foobar', 6) === 'foobar';
< true
> f(1, 2, 0) === '01';
< true
> f(1, 2, '-') === '-1';
< true

ไม่แน่ใจว่าคุณต้องการนับการประกาศฟังก์ชั่นหรือไม่ฉันต้องการอินไลน์นี้


ฉันคิดว่าโดยทั่วไปเราจะไม่นับการประกาศฟังก์ชั่นเว้นแต่คำถามจะถามเฉพาะโปรแกรมเต็มรูปแบบมากกว่าฟังก์ชั่น
Deusovi

slicesubstrจะสั้นกว่า
Mama Fun Roll

@ Deusovi ถูกต้อง สิ่งที่ฉันหมายถึงคือฉันจะไม่ทำconsole.log(f("whatever",10, "*"))แต่console.log(("*".repeat(10)+"whatever").substr(-10))
Sklivvz

7

Javascript ES6, 35 ไบต์

(s,l,c=' ')=>c.repeat(l-s.length)+s

ลองมัน. ฉันเชื่อว่านี่เป็นสิ่งที่สั้นที่สุดที่เป็นไปได้ใน Javascript


นี่คือสิ่งที่ฉันกำลังจะทำยกเว้นมันไม่ใช่ฟังก์ชั่นนิรนาม
Aplet123

@ Aplet123 ฉันคิดว่าคำจำกัดความของการแข่งขันในสิ่งที่คาดว่าจะเป็นเช่นนี้ มันแค่ขอฟังก์ชั่น; การตั้งชื่อมันไม่เกี่ยวข้องในบริบทนี้หรืออย่างน้อยนั่นคือสิ่งที่ฉันจะคิดตามคำตอบอื่น ๆ
David

5

Python 3, 33 31 29 ไบต์

lambda a,b,x=" ":a.rjust(b,x)

ค่อนข้างตรงไปตรงมา ขอบคุณ@xnor ที่ทำให้ฉันนึกถึงstr.rjustสิ่งนั้น : P

สำหรับความยาวเท่ากัน (ขอบคุณ xnor):

lambda a,b,x=" ":(x*b+a)[-b:]

โซลูชันก่อนหน้า:

lambda a,b,x=" ":x*(b-len(a))+a

เป็นบิตสั้นที่จะทำหรือ(x*b+a)[-b:] a.rjust(b,x)ที่จริงแล้วstr.rjustเนื้อหาของตัวเองทำงานได้ดีสำหรับทุกสิ่ง
xnor

@ xnor ฉันลืมrjustว่าเป็น builtin ขอบคุณ!
แมว

สิ่งเหล่านี้ไม่เป็นไปตามข้อมูลจำเพาะ:f(1, 2, 0) === '01';
Valentin Lorentz

@ValentinLorentz ฉันขอ OP เพื่อความกระจ่างเกี่ยวกับภาษาที่ไม่บังคับตัวเลขให้เป็นสตริงตามค่าเริ่มต้นและยังไม่ได้รับคำตอบ เนื่องจากคำถามนี้ไม่มีข้อกำหนดที่เป็นทางการฉันจะถือว่าอาร์กิวเมนต์เป็นสตริงทั้งหมด
แมว

ขณะนี้มีข้อมูลจำเพาะและโซลูชัน 1 ไม่ถูกต้อง (ทดสอบบน Python 2.7.10)
เครื่องคิดเลข

5

05AB1E , 11 9 ไบต์

รหัส:

g-ð³0@×¹«

คำอธิบาย:

g          # Implicit first input, take the length.
 -         # Substract the length with the second input.
  ð³       # Push a space and if the third input exists, also the third input.         
    0@     # Reposition the first element of the stack to the top (zero-indexed).
      ×    # Multiply the character with the difference in length.
       ¹«  # Concatenate the first input to the string.

ใช้การเข้ารหัสCP-1252 ลองมันออนไลน์


1
ตัวอักษรทั้งหมดเหล่านี้เข้ากันได้กับ Jelly Codepage (0x672D188330401181FA)
CalculatorFeline

5

JavaScript (ES5), 70 ไบต์

ใช้การเรียกซ้ำ ...

function f(s,c,p,u){return(s+'').length<c?f((p==u?' ':p+'')+s,c,p):s}

การเริ่มต้นครั้งแรกของฉันมีเพียง 57 ไบต์:

function f(s,c,p){return s.length<c?f((p||" ")+s,c,p):s}

แต่ผ่านการทดสอบ 2 ครั้งแรกเท่านั้น:

> f('foo', 5) === '  foo';
true
> f('foobar', 6) === 'foobar';
true
> f(1, 2, 0) === '01';
false
> f(1, 2, '-') === '-1';
false

ฉันยังคงชอบตัวเลขที่สั้นกว่าเพราะในทางปฏิบัติการส่งผ่านตัวเลขไปยังฟังก์ชันการจัดการสตริงไม่ใช่คุณสมบัติที่ฉันต้องการ


4

Mathematica ขนาด 13 ไบต์

StringPadLeft

บิวด์อินเท่านั้นคำตอบ # 3 (ตอนแรกคือRangeที่สองคือSurd) หรือบิวด์อินน้อยกว่า: (35 ไบต์)

##2~StringRepeat~(#3-Length@#2)<>#&

ฉันขอลงคะแนนเงียบ ๆ ได้ไหม?
edc65

2
...ทำไม? เป็นเพราะนี่เป็นเพียงตัวภายในหรือไม่? 41byte Python คำตอบ # 1 (ซึ่งไม่ถูกต้องอีกต่อไป) เป็นเพียงเสื้อคลุมสำหรับ builtin
CalculatorFeline

It's common practice to disallow built-ins that exactly implement what the challenge asks if that's a concern.(อุทธรณ์ต่อผู้มีอำนาจ: มาร์ติน) (แต่สามัญสำนึกเช่นกัน)
edc65

@ edc65 โพสต์เมตาที่เกี่ยวข้อง ฉันค่อนข้างมั่นใจว่ามันได้รับอนุญาตเนื่องจากบิวด์อินทั่วไปได้รับอนุญาตตามค่าเริ่มต้น มันต้องใช้ความคิดสร้างสรรค์และความรู้ในส่วนของผู้ใช้เพื่อทราบฟังก์ชั่นในตัวที่เกี่ยวข้อง
mbomb007

1
@ mbomb007 อนุญาตอาจ - ไม่มีความคิดสร้างสรรค์ ฉันไม่ได้ตั้งค่าสถานะคำตอบนี้ว่าไม่ถูกต้อง แต่ต้องลง
คะแนนโหวต


3

Javascript (ES6), 55 ไบต์

(a,n,c=' ',s=a+'')=>(new Array(++n-s.length).join(c)+s)

สร้างอาร์เรย์ของค่าที่ว่างเปล่าและเข้าร่วมเวอร์ชัน

(a,n,c=' ')=>{a+=''; return new Array(++n-a.length).join(c)+a}

อ่านได้ง่ายขึ้น แต่returnเพิ่มอักขระอีกไม่กี่ตัว


เนื่องจากคำถามถูกพักไว้ฉันจะใส่คำตอบของฉันไว้ในคำตอบของ JS ที่เหมือนกับของฉันมากที่สุด 43 ไบต์ (s, n, c = '') => (อาร์เรย์ (n) .join (c) + s) .slice (-n)
Charlie Wynn

เคล็ดลับ: สำหรับ` inline code blocks.
CalculatorFeline

+=ส่งคืนค่าของตัวถูกดำเนินการทางด้านซ้ายดังนั้นรุ่นที่สองจะสั้นกว่า: (a,n,c=' ')=>(new Array(++n-(a+='').length).join(c)+a)แต่จะกลายเป็นอีกต่อไปเมื่อคุณเพิ่มสตริงการเติมหลายช่อง
CalculatorFeline

3

Bash, 57 ไบต์

พารามิเตอร์: padchar ความกว้างของสตริง

printf -vX %$2s;Y="${X// /${3- }}$1";echo -n "${Y:${#1}}"

ทำสตริงช่องว่างความกว้าง

แปลงตัวละครแต่ละพื้นที่เข้าpadchar

เขียน padding แล้วสตริง


2

Python ขนาด 41 ไบต์

lambda a,b,x=' ':str(a).rjust(b,str(x))

หากไม่มีบิวอิน rjust, 43 ไบต์:

lambda a,b,x=' ':str(x)*int(b/2%3)+str(a)

(ไม่ใช่สิ่งที่คาดหวังให้ทำ แต่ผ่านชุดทดสอบ)


คุณสามารถลบs=strและแทนที่sด้วยstrจำนวนไบต์เดียวกัน
CalculatorFeline

2

เยลลี่ 12 ไบต์

L⁴_ẋ@⁵⁵⁶<?¤³

ดังนั้นการอ้างอิงตัวแปรหลาย เยลลี่ไม่ควรเป็นภาษาโดยปริยายหรือ

ลองออนไลน์!

มันทำงานอย่างไร

L⁴_ẋ@⁵⁵⁶<?¤³  Main link
              Arguments: string (³), length (⁴), padchar (⁵, defaults to 10)

L             Compute the length of ³.
 ⁴_           Subtract the length from ⁴.
          ¤   Combine the two links to the left into a niladic chain:
     ⁵          Yield ⁵.
      ⁵⁶<?      Yield ⁵ if ⁵ < ⁵, else ⁶.
              Comparing a number with itself gives 0 (falsy), but comparing a
              string / character list with itself gives [0] (truthy).
   ẋ@         Repeat the result to the right as many times as specified in the
              result to the left.
           ³  Print the previous return value and return ³.

padchar (⁵, defaults to 10)มันไม่ควรจะเริ่มต้นกับ20หรือ32?
แมว

1
ตัวยก 3 ถึง 9 เป็นค่าคงที่ที่เริ่มต้นกับอาร์กิวเมนต์ (ถ้ามี) หรือค่าเริ่มต้นที่เป็นประโยชน์ เงื่อนไข?ตรวจสอบว่ามันมีค่าเริ่มต้น 10 และให้พื้นที่ในกรณีนั้นหรือไม่
เดนนิส

2

JavaScript ES7, 16 ไบต์

''.padStart.bind

built-ins ftw! ใช้งานได้กับ Firefox 48 ขึ้นไปเท่านั้น ใช้ได้เนื่องจากคุณสมบัตินี้ถูกเพิ่ม 12 มีนาคม

สิ่งนี้ใช้อินพุตเช่น:

(''.padStart.bind)(arg1)(arg2,arg3)

1

ไพค์ 67 ไบต์

mixed n(mixed a,int b,mixed x){return x!=""?x:" "*(b-strlen(a))+a;}

ถอนหายใจ สตริงว่างประเมิน"" ทำไม!?true

ผสมน้ำซุปผสมหอก ...


ภาษาอื่นที่มีความจริงที่โง่
CalculatorFeline

@CatsAreFluffy ใช่หอกเป็นคนแปลก แต่ก็มีสาธารณูปโภคการประมวลผลสตริงที่ดี
แมว

1

Pyke 12 ไบต์ (ไม่ใช่การแข่งขัน)

เพิ่ม input node, bugfix บน len node, เปลี่ยนผลลัพธ์เริ่มต้นบน node ที่กำหนดหลังจากการโพสต์ความท้าทาย

\ =zzjl-z*j+

คำอธิบาย:

\ =z         - assign default input for `z` to be " " (Will still prompt but no input will return a space instead)
    zj       -     j = input()
      l      -    len(j)
       -     -   eval_or_not_input() - ^
        z*   -  ^*input()
          j+ - ^+j

+1 เนื่องจากการตอบคำถามในภาษาช่วยให้คุณปรับแต่ง :)
cat

ฉันได้แก้ไขรูปแบบของส่วนหัวของคุณเพื่อให้ง่ายต่อการอ่านและง่ายขึ้นสำหรับ userscripts ฯลฯ ในการแยกวิเคราะห์ - ย้อนกลับถ้าคุณไม่เห็นด้วย
แมว

ทำไมต้องลงคะแนน
Blue

1
@muddyfish ดูเหมือนว่าทุกคำตอบที่ไม่ใช่จาวาสคริปต์ที่นี่คือ downvoted
Adnan

@AndN เพียงแค่ไม่ดี ... ทำไมฉันถึงไม่สามารถเห็นรูปแบบจากคำตอบ 6 อันดับแรกได้
Blue



0

ทับทิมขนาด 42 ไบต์

def left_pad(s,t,p=" ");p*(t-s.size)+s;end

พารามิเตอร์: สตริง, ขนาด, padchar

ชุดทดสอบด้านล่าง; ควรพิมพ์ "จริง" ทั้งหมดเพียงใส่ทุกอย่างไว้ในไฟล์เดียวกัน

puts left_pad("foo", 5) == "  foo"
puts left_pad("foobar", 6) == "foobar"
puts left_pad("1", 2, "0") == "01"
puts left_pad("1", 2, "-") == "-1"

คุณไม่จำเป็นต้องใช้ชื่อเมธอดนั้น ... และคุณอาจทำให้แลมบ์ดาเป็นเช่นกัน (ตัวอย่างอื่น ๆ ทั้งหมดคล้ายกัน)
ไม่ใช่ว่า Charles

0

Java 8, 86 88 ไบต์

นี่คือฟังก์ชั่น อาร์กิวเมนต์ที่สามคือการvarargsอนุญาตให้ถ่านเสริม (ค่าเริ่มต้น' ')

String p(String s,int l,char...p){return s.length()<l?p((p.length>0?p[0]:' ')+s,l,p):s;}

เรียกซ้ำ! +2 ไบต์ (เพิ่มวงเล็บเนื่องจากข้อผิดพลาดประเภทที่เข้ากันไม่ได้)


TypeErrors นี้ สามารถทดสอบ Ideone ได้เสมอ (Java 7 แต่ฉันได้รับข้อผิดพลาดที่แน่นอนเหมือนกันใน Java 8 บนกล่องของฉัน) ideone.com/B7gTA5
cat

0

PHP, 54 48 ไบต์

ใช้การเข้ารหัส Windows-1252

function(&$s,$l,$p=~ß){$s=str_pad($s,$l,$p,0);};

ทำงานแบบนี้ ( -dเพิ่มสำหรับการศึกษาแบบตะวันออก):

php -r '$f = function(&$s,$l,$p=~ß){$s=str_pad($s,$l,$p,0);}; $s="foo";$f($s,5);echo"$s\n";' 2>/dev/null

รุ่นเก่า (ไม่มีบิวอิน):

function(&$s,$l,$p=~ß){for(;strlen($s)<$l;)$s=$p.$s;};

การปรับแต่ง

  • บันทึก 6 ไบต์โดยใช้str_padแทนการวนซ้ำ ออกจากอันเก่าเพื่ออ้างอิงขณะที่บิวด์อินถูกขมวดคิ้ว

0

R, 50 ไบต์

ไปงานเลี้ยงสายอีกครั้ง แต่ที่นี่มันไป:

function(s,n,p=" ")cat(rep(p,n-nchar(s)),s,sep="")

สิ่งนี้จะพิมพ์เอาต์พุตไปที่ stdout แต่ไม่ได้ส่งคืนสตริง padded (ไม่แน่ใจว่านี่เป็นข้อกำหนดสำหรับการท้าทาย) หากจำเป็นต้องใช้วิธีแก้ปัญหาจะยาวอีกเล็กน้อยที่ 61 ไบต์:

function(s,n,p=" ")paste0(c(rep(p,n-nchar(s)),s),collapse="")

-3

C, 64 ไบต์

f(s,n,c,p){return memset(p,c,asprintf(&p,"%*s",n,s)-strlen(s));}

ลองมันนี่


2
สิ่งนี้ไม่เป็นไปตามข้อกำหนดเนื่องจากไม่ได้กำหนดค่าเริ่มต้นเป็นช่องว่างเมื่อไม่มีการระบุอักขระ
Doorknob

รหัสนี้ไม่ทำงานตามที่กำหนด gccจะช่วยให้undefined reference to function printfการส่งผ่านและรวมถึงprintfตัวเอง แต่ไม่มีโชคดังกล่าวสำหรับmemset, และasprintf strlenคุณต้องเพิ่ม#include<string.h>คำจำกัดความ ... ฯลฯ เพื่อให้ถูกต้อง
แมว

@tac Hmmm ... ฉันเขียนและทดสอบคำตอบของฉันภายใน ideone gcc-5.1มันรวบรวมและทำงานที่ประสบความสำเร็จบนเวทีว่าแม้ว่ามันจะระบุว่าจะใช้ ฉันไม่แน่ใจว่าพวกเขากำลังใช้ธงคอมไพเลอร์หรือสิ่งที่มีอยู่ภายในเบื้องหลังที่ฉันไม่รู้ ตอนแรกฉันใช้สิ่งนี้เป็นเหตุผลของฉันสำหรับมันที่ไม่ได้ทำงานในสภาพแวดล้อมของคุณ แต่ตอนนี้ฉันไม่แน่ใจ ...
Cole Cameron

นี่มันgcc 5.2.1อยู่บนลีนุกซ์ดังนั้นคุณอาจจะสามารถพูดออกไปได้Ideone C, 64 bytesแต่ถ้าคุณจะอ้างว่ามันเป็น C ให้ทำการคอมไพล์ : p
cat

ฉันเป็นแค่ผู้เริ่มต้นที่ C: ทำไมจึงfใช้พารามิเตอร์สี่ตัวไม่ใช่ 3 คุณต้องการที่อยู่ของสตริงหรือ ... ไม่ว่าจะด้วยวิธีใดfควรมีอาร์กิวเมนต์อย่างน้อย 3 ข้อ
แมว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.