大家好,我是语言c ++的初学者
我试图在我的ide“codeblocks”上运行下面的代码,它的工作原理https://www.youtube.com/watch?v=vLnPwxZdW4Y(以下教程的链接)
#include <iostream>
using namespace std;
int main()
{
string charactername = "arnold";
int characterage;
characterage = 10;
cout << "Hello my name is" << charactername<< endl;
cout << "i am " << characterage << endl;
return 0;
}
这段代码对我在dosbox上运行的其他编译器不起作用?任何想法为什么?
我建议你停止使用Turbo C ++,因为它是一个非常过时的和已停产的编译器。但是,如果您没有使用新编译器的选项(我遇到与在学校学习C ++时相同的问题),您将不得不进行以下更改:
using namespace std;
不能用于Turbo C ++。您将不得不删除它并用#include<iostream>
替换#include<iostream.h>
string
不能用于Turbo C ++。您将不得不声明一个字符数组。#include<stdio.h>
和函数puts();
来显示字符数组。或者,您可以使用循环语句。这将是您的最终代码:
#include <iostream.h>
#include <stdio.h>
int main()
{
char charactername[] = "arnold";
int characterage;
characterage = 10;
cout << "Hello my name is ";
puts(charactername);
cout << "i am " << characterage << endl;
return 0;
}
注意:
puts();
函数会自动将光标放在下一行。所以你不需要使用endl;
或者,如果要使用循环语句来显示字符数组
#include <iostream.h>
int main()
{
char charactername[] = "arnold";
int characterage;
characterage = 10;
cout << "Hello my name is ";
int i=0;
while(charactername[i]!='\0') {
cout<<charactername[i];
i++;
}
cout<<endl;
cout << "i am " << characterage << endl;
return 0;
}
'\0'
是字符数组的最后一个元素。因此,只要循环没有到达最后一个元素,它就会打印字符数组。
a[] = "arnold";
基本上意味着像这样创建一个数组:a[0]='a'
,a[1]='r'
,a[2]='n'
,....a[5]='d'
,a[6]='\0'
。