2011-04-30 5 views
0

로 읽고 있지 평은 파일 형식은 C

확인 문제가 파이썬에서없는 숫자 3 0을 받아 내 C 프로그램에서 내 플로트 x는 내가 주

import progC 
def main(): 
    x = 3 
    y=progC(x) 
    print y 

if __name__ == __main__ 
    main() 

#include <Python.h> 

static PyObject* py_bracket(PyObject* self, float x){ 
    x = x+5; 
    return Py_BuildValue("d",x); 
} 
에서 부동 X가 있다고 가정하자

답변

0

이 시도 :

static PyObject* py_bracket(PyObject* self, PyObject* args){ 
    float x; 
    if (!PyArg_ParseTuple(args, "f", &x)) 
     return NULL; 
    x = x+5; 
    return Py_BuildValue("f",x); 
} 
0

제 생각에는 float 대신 int을 사용하여 문제를 해결할 수 있습니다. 파이썬 변수는 기본적으로 12 바이트 메모리를 보유하고 "C 부동"은 4를 보유합니다. 두 번째 옵션은 float 유형이 필요하다는 것을 지정하는 PyTypeObject PyFloat_Type을 사용합니다.

관련 문제