我在 Visual Studio 中编写了一个计算器程序。但我还需要它与 DEVC++ 一起运行。但我的代码不能在 gcc 编译器上运行。这是代码的一小部分不起作用。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <stdbool.h>
int main(){
long double var1 = 0, var2= 0, memory, result;
char wordInput[50] = { 0 };
char *endPtr1, *endPtr2;
printf("Enter an input: ";
scanf("%[^\n]%*c", wordInput);
var1 = strtold(wordInput, &endPtr1);
printf("%.4f", var1);
}
Run Code Online (Sandbox Code Playgroud)
这是我获取输入并将其转换为 double 并分配给 var1 的代码块。当我用 Visual Studio 编译它时,它可以工作(它打印输入的数字),但使用 devc++ 则不行(它打印 0.0000)。我可以做什么来修复它?
我正试图在" Android工作室,而不是eclipse "中使用andengine,并且在运行项目时我得到了这个错误.
9442-29483/com.makeinfo.andenginetemplate E/AndEngine? MainActivity.onCreateScene failed. @(Thread: 'GLThread 2726')
java.lang.UnsatisfiedLinkError: Couldn't load andenginephysicsbox2dextension from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.makeinfo.andenginetemplate-1.apk,libraryPath=/data/app-lib/com.makeinfo.andenginetemplate-1]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:355)
at java.lang.System.loadLibrary(System.java:525)
at org.andengine.extension.physics.box2d.PhysicsWorld.<clinit>(PhysicsWorld.java:35)
at com.makeinfo.andenginetemplate.MainActivity.onCreateScene(MainActivity.java:71)
at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:169)
at com.makeinfo.andenginetemplate.MainActivity.onCreateResources(MainActivity.java:55)
at org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:181)
at org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:110)
at org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:80)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1509)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1248)
Run Code Online (Sandbox Code Playgroud)
在某些答案中,有人说验证您的构建路径设置,但我没有得到他的确切含义.我复制并粘贴了库文件夹(其中包含"libandenginephysicsbox2dextension.so")到我的主项目lib文件夹中.我该怎么做才能解决这个问题.任何帮助或建议将不胜感激!
这是项目文件夹设置:

解决:http: //geq-i.blogspot.com/2014/02/how-to-setup-andengine-in-android-studio.html
是指andengine指的是andenginebox2dextension
我需要计算一个长度约为9-10位的大数字.
Msdn 称long long类型的范围为:-9,223,372,036,854,775,808至9,223,372,036,854,775,807
但是,当我运行此代码时,我得到一个垃圾值打印:
#include <stdio.h>
int main(){
int seed = 88888; //This will be always a 5 digit number so the square of
// it will be 9 or 10 digits length
long long square = seed * seed;
printf("square = %lld", square);
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:square = -688858048
我编写了一个控制台程序,它从用户那里获取一些特定的字符输入来执行操作.程序要求输入,用户键入"i"表示插入或"r"表示删除等.问题是当用户输入多个字母时,程序表现得很奇怪.
char selection;
bool finish = false;
while (!finish){
print_menu();
cin >> selection;
finish = perform_operation(selection);
}
Run Code Online (Sandbox Code Playgroud)
这就是我获得用户输入的方式.我想获得用户输入的第一个字符并忽略其余部分,并表现如此.我该怎么做?
注意:我不允许使用"string"类,但我可以使用每个str函数!
感谢帮助!
另一个案例:
如果我想获得大量字符怎么办?例如:用户输入一个10个字符的名称但我只想获得前5个字符.我该怎么办?