我有一个简单的C程序的问题,我需要你的帮助。
我使用指针声明一个字符串。使用scanf我从stdin.Later给它一个值我尝试打印这个字符串。它全部编译好,但是当我运行程序时,它接受我的字符串,当它打印时,我收到运行时错误,返回值为3221225477。
这里的问题在哪里?
我正在使用DEV C ++ IDE btw。
注意:我也尝试在ideone.com在线编译器上做同样的事情并且它没有给出运行时错误,但是它不是stdin中给出的字符串,而是打印(null)。
这是代码:
from operator import mul, truediv
import math
def trigonometry(angle, side_length, side_respective_to_angle, unknown):
o, h, a = 'opposite', 'hypotenuse', 'adjacent'
sohcahtoa = {o: {h: (math.sin, truediv), a: (math.tan, truediv)},
h: {o: (math.sin, mul), a: (math.cos, mul)},
a: {o: (math.tan, mul), h: (math.cos, truediv)}}
function, op = sohcahtoa[side_respective_to_angle][unknown]
return op(side_length, function(math.radians(angle)))
答案 0 :(得分:0)
您需要为变量字符串分配空间。 例如:
char *string;
int i;
scanf("%d", &i);
string = (char*)malloc(sizeof(char)*i);
然后你可以从输入中读取并打印字符串