假设我有这样的代码片段:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
printf("%d",5);
}
Run Code Online (Sandbox Code Playgroud)
它在我的Apple LLVM版本5.0(clang-500.2.79)(基于LLVM 3.3svn)编译器上编译和运行正常,但它在gcc版本4.4.5(Debian 4.4.5-8)上失败,说它没有识别"printf"功能.我的Uni教授使用后者,今天他们说我的程序不起作用.
我的问题是 - 为什么clang(在OS X 10.9上由g ++ namefile.cpp运行)在这种情况下自动包含"cstdio.h"?
PS.我知道C++中有cin和cout流,这可以解决问题,但我的问题更具理论性,并且用于自动包含的未来目的.
假设我有这样的代码:
char* Complex::getString(void)
{
char *p;
int n = snprintf( NULL, 0, "%.6f+%.6fi", (float)_re, (float)_im);
p = (char*)malloc(n+1);
sprintf( p, "%.6f+%.6fi", (float)_re, (float)_im);
return p;
}
Run Code Online (Sandbox Code Playgroud)
我应该释放p,如果是的话 - 在哪里以及为什么?
我有一个像这样的json文件:
{
"data": "12-14.02.2013",
"uwagi": ["Pierwsza","Druga","Trzecia"],
"tytul": "Kolokwium 1",
"przedmiot": "Muzykologia",
"questions" : [
{
"punkty": 2,
"pytanie" : "Czy lubi Pan reggae?",
"odpowiedz" : "Tak, bardzo",
"verbatim" : "if (a){b=5}"
},
{
"punkty": 3,
"pytanie" : "Czy lubi Pan hip-hop?",
"odpowiedz" : "Nieszczególnie"
},
{
"punkty": 5,
"pytanie" : "Czy lubi Pan disco polo?",
"odpowiedz" : "Nie"
}]
}
Run Code Online (Sandbox Code Playgroud)
和像这样的ruby代码:
require 'json'
file = open("pytania.json")
json = file.read
parsed = JSON.parse(json)
questionsArr = parsed["questions"]
questionsArr.shuffle
puts questionsArr
Run Code Online (Sandbox Code Playgroud)
questionsArr在.shuffle之后没有排序
我试过.sort_by …