这几天这个问题一直困扰着我。
我想读取一个字符串,例如,input=(-0.001999,-0.919191,-0.7777779999.999999)
使用sscanf我的密码是

char x[10], y[10], z[10], angle[10];
sscanf( input+1, "%[^,],%[^,],%[^,],%[^)]", &x, %y, &z, &angle);
printf("%s %s %s %s\n", x, y, z, angle);

预期结果是x=-0.001999 y=-0.919191 z=-0.777777 a=999999.999999
但我的printf显示:x=-0.001999 y=-0.919191 z=999 a=999999.999999
有人能帮我找出问题在哪里吗??
谢谢!

最佳答案

角度不够大,无法容纳输入数据,因此z被覆盖试试这个:

char x[80], y[80], z[80], angle[80];

08-16 11:12