大家好,我是使用c ++语言的初学者
我正在尝试在我的“ 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上运行的其他编译器吗?有什么想法吗?
答案 0 :(得分:2)
我建议您停止使用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'