为什么cout不显示x? 我正在学习C++,我创建了一个简单的使用Car函数的空函数。我在顶部原型化了这个函数,在int main中定义了它,并试图输出“yourname is”x。有人能告诉我为什么它只告诉我“你的名字是”而不是x(约翰)部分吗 #包括 #包括 #包括 void myfun(char x); int main(){ 使用名称空间std; 查尔·约翰; myfun(约翰); 系统(“暂停”); 返回0; } void myfun(字符x){ 使用名称空间std; cout

为什么cout不显示x? 我正在学习C++,我创建了一个简单的使用Car函数的空函数。我在顶部原型化了这个函数,在int main中定义了它,并试图输出“yourname is”x。有人能告诉我为什么它只告诉我“你的名字是”而不是x(约翰)部分吗 #包括 #包括 #包括 void myfun(char x); int main(){ 使用名称空间std; 查尔·约翰; myfun(约翰); 系统(“暂停”); 返回0; } void myfun(字符x){ 使用名称空间std; cout,c++,char,void,cout,C++,Char,Void,Cout,编辑代码: #include <iostream> #include <cstdlib> #include <cmath> using namespace std; void myfun(std::string x); int main() { std::string name = "John"; myfun(name); system("pause"); return 0; } void myfun(str::string x) { cout &l

编辑代码:

#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;

void myfun(std::string x);

int main() {

std::string name = "John";
myfun(name);

system("pause");
return 0;
}

void myfun(str::string x) {
cout << "Your name is " << x << endl;
}
#包括
#包括
#包括
使用名称空间std;
void myfun(std::string x);
int main(){
std::string name=“John”;
myfun(姓名);
系统(“暂停”);
返回0;
}
void myfun(str::string x){

cout它不起作用的主要原因是您没有为
John
赋值
John
只是您用来标识的变量名

如果您想显示
您的名字是John
,那么您必须给它一个值,如果您想让它打印一个字符串,那么它应该是
字符串
而不是
字符

例如:

#include <iostream>
#include <cstdlib>
#include <cmath>

using namespace std;

void myfun(string x);

int main() {
  string John = "John";
  myfun(John);

  system("pause");
  return 0;
}

void myfun(string x) {  
  cout << "Your name is " << x << endl;
}
#包括
#包括
#包括
使用名称空间std;
void myfun(字符串x);
int main(){
字符串John=“John”;
myfun(约翰);
系统(“暂停”);
返回0;
}
void myfun(字符串x){

cout这看起来主要的问题是,您的印象是变量John被初始化为“John”。这是关闭的,原因有两个。第一,变量John没有初始化(它没有被赋值)。第二,变量John是字符,这意味着它只能保存一个字符。 试着改变 查尔·约翰; 为此: 字符串name=“John”

然后替换对变量的引用

第一次编程的一个大问题是,假设他们变量的名称与变量存储的实际值有关。我可以这样做: int-doody=3.14

doody会有一个不错的pi估计值。我还可以: int-pi=3.14

然后π会有一个不错的π估计


仅仅因为你给一个变量命名,并不意味着它保存了与该名称相关的任何数据。说了这句话,你应该避免给变量命名,比如“x”之类的东西,而不是因为它不是描述性的。变量的名称应该描述它的内容,但是开发人员应该知道变量的名称并不是确定它的内容(耶,含糊不清……有点)

我举了一个关于如何使用char的例子…不需要下一票…无论如何,我编辑了答案。或者你可以停止使用
名称空间std;
和std中定义的前缀项,使用
std::
。这可能是一个更好的主意。请参阅:。如果你曾经使用过,这是人们会告诉你的第一件事。
#include <iostream>
#include <cstdlib>
#include <cmath>

using namespace std;

void myfun(string x);

int main() {
  string John = "John";
  myfun(John);

  system("pause");
  return 0;
}

void myfun(string x) {  
  cout << "Your name is " << x << endl;
}