c++语句,帮帮忙解释一下功能好吗?

来源:百度知道 编辑:UC知道 时间:2024/06/14 05:58:59
1.
#include<iostream.h>
#include<string.h>
void main()
{
char c1[10]="Indonesia";
char c2[10]="India";
cout<<strcmp(c1,c2)<0? c1:c2<<endl;
}
这里 strcmp(c1,c2)<0? c1:c2 我不大明白. 能否解释一下功能.

2.
#include<iostream.h>
void f1(int a[ ],int n)
{
for(int i=0;i<n/2;i++)
{int x=a[i];a[i]=a[n-1-i];a[n-1-i]=x;}
}

void main()
{
int a[]={21,22,23,24,25};
f1(a,5);
for(int i=0;i<5;i++) cout<<a[i]<<',';
cout<<endl;}

解释一下每条语句的作用和功能好吗? 我知道答案,但是不知道原理

{int x=a[i];a[i]=a[n-1-i];a[n-1-i]=x;} 这个是替换吗?
那么 f1是函数名?

3.
#include<iostream.h>
#include<string.h>
void main()
{
char s[]="esaBataD";
for(int i=strlen(s)-1;i>=0;i--)
cout<<s[i];
cout&

第一题的 stcmp(c1,c2)是比较c1,c2 的大小,意思跟c1-c2一样,如果,c1>c2,则返回1,相等就返回0,反之就是-1;
第一题:
#include<iostream.h>
void f1(int a[ ],int n)
{
for(int i=0;i<n/2;i++)
{int x=a[i];a[i]=a[n-1-i];a[n-1-i]=x;} //把第一个元素与最后一个元素交换,第二个与倒数第二个交换,依此类推
}

void main()
{
int a[]={21,22,23,24,25}; //定义一个五个元素的整型数组
f1(a,5); //执行函数名为f1的函数
for(int i=0;i<5;i++) cout<<a[i]<<','; //输出数组a[i](注意,a[i]已经改变
cout<<endl;}
//f1是函数名

第三题:
for(int i=strlen(s)-1;i>=0;i--)
strlen(s)是返回s的元素个数,即大小,语句的意思是说,从s的大小(i)开始数,每数一个就把大小减1(i--),只要i>=0就继续数下去(同时里面的语句执行),直至条件不成立

第四题:
#include<iostream.h>
struct node
{
char s[10]; //定义一个字符数组
node *next; //定义下一个节点指针
};

void main()
{
node a[4]={{"China",&a[1]}, {"England",&a[2]}, {"America",&a[3]},{"---",NULL}}; //定义四个结构数组,分别赋值为把"china",