C++ c++;帮助我理解为什么没有输出
这个程序很简单: 1) 获取一个输入字符串。 2) 将其转换为long。 3) 打印转换结果 应为输出,但未找到任何内容C++ c++;帮助我理解为什么没有输出,c++,codeblocks,C++,Codeblocks,这个程序很简单: 1) 获取一个输入字符串。 2) 将其转换为long。 3) 打印转换结果 应为输出,但未找到任何内容 #include <stdio.h> #include <string> using namespace std; int main() { string ch; scanf
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
string ch;
scanf("%s",ch);
long l=stol(ch);
printf("%l",l);
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
弦ch;
scanf(“%s”,ch);
长l=stol(ch);
printf(“%l”,l);
返回0;
}
下面是如何用C++ I/O.来做的,在C++程序中使用C I/O的理由很小。
#include <iostream>
#include <string>
int main()
{
std::string input;
std::cin >> input; // take an input string
long lval = stol(str); // convert to long
std::cout << lval << '\n' // print the result
}
#包括
#包括
int main()
{
std::字符串输入;
std::cin>>输入;//获取输入字符串
long lval=stol(str);//转换为long
std::cout std::string和scanf不能一起工作。请注意您的编译器警告。如果您的编译器没有警告您,请立即升级。您的代码在my Ubunu g++下编译,并返回:警告:格式“%s”要求参数类型为“char*”,但参数2的类型为“std::u cxx11::string”{aka'std::-------我认为您希望从用户处获取char并返回其长整数值,但请注意您的sacnf获取的字符串带有%s@n.m.用我能代替的,为什么你要混合C和C++?只需要使用你真正想要的。这个站点不是按需C++教程。