2016-09-09 35 views
18

Java pozwala cyfry w stałej numerycznej, aby oddzielić w sposób następujący:jak oddzielić cyfry w stałych liczbowych (np 10000) w C lub C++ kod

int a = 1_000_000; 

sposób C lub C++ mają podobną konstrukcję?

+0

@ Rakete1111, czy to jest C++? w języku C pojawia się błąd: "oczekiwano", "lub"; "przed" \ x303030 "' –

+6

C nie jest C++ i na odwrót, wybierz jeden, ponieważ odpowiedź będzie najprawdopodobniej różna. – Borgleader

+0

Jest to C++ 14, a nie C na pewno. –

Odpowiedz

21

Jedynym sposobem, aby to zrobić, jest C++ 14, jest z pojedynczymi cudzysłowami, jak to. Niestety, tylko problem polega na tym, że podświetlanie składni często dostaje pomieszane z poniższym zapisie, i można zobaczyć, że w moim przykładzie, a także:

int i = 1'000'000; 


Working Example
Według http://en.cppreference.com/w/cpp/language/user_literal:

In the integer and floating-point digit sequences, optional separators ' are allowed between any two digits and are ignored (since C++14)

18

można pisać w C++ 14

int a = 1'000'000; 

W C taka funkcja jest nieobecny.

+4

Może wspomnieć, że OP musi używać C++ 14? – Rakete1111

+0

@ Rakete1111 Nie pamiętam, czy jest to poprawne w C++ 11? :) –

+0

Myślę, że [to] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf) to propozycja, która została przyjęta, ale nie jestem pewien. To nie jest poprawne C++ 11. – Rakete1111