c语言中if (strcmp(s1,s2)!=0) puts(s2)是什么意思·
时间: 2024-04-07 11:29:29 浏览: 159
这行代码的意思是,如果字符串s1和字符串s2不相等,则将字符串s2输出到屏幕上。strcmp函数是C语言中用来比较两个字符串的函数,当两个字符串相等时,返回值为0,当两个字符串不相等时,返回值为非0。因此,当strcmp(s1,s2)!=0成立时,就表示s1和s2不相等。puts函数是C语言中用来输出字符串的函数,将字符串输出到标准输出设备上。
相关问题
c语言代码;6-1 指针数组作函数参数,实现姓名排序。 分数 15 作者 陶利 单位 合肥师范学院 本题要求实现一个函数,实现学生英文名按照其在字典中的顺序进行排序,假设学生不超过20个。要求如下:用指针数组作函数参数,实现字符串的按字典顺序排列。 函数接口定义: void SortString ( char *ptr[], int n ); 其中 ptr[] 为字符指针数组, n 为学生数量。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAX_LEN 10 #define N 20 void SortString ( char *ptr[], int n ); int main() { int i,n; char name[N][MAX_LEN]; //定义二维字符数组 char *pStr[N]; //定义字符指针数组 scanf("%d", &n); getchar(); //读走缓冲区中的回车符 for(i=0; i<n; i++) { pStr[i] =name[i]; gets(pStr[i]); } SortString(pStr, n); //英文姓名按字典顺序排列 for(i=0; i<n; i++) { puts(pStr[i]); //输出排序后的n个名字 } return 0; } /* 请在这里填写答案 */ 输入样例: 6 james john david jane mary elizabeth 输出样例: david elizabeth james jane john mary
```
#include <stdio.h>
#include <string.h>
#define MAX_LEN 10
#define N 20
void SortString(char *ptr[], int n);
int main()
{
int i, n;
char name[N][MAX_LEN]; //定义二维字符数组
char *pStr[N]; //定义字符指针数组
scanf("%d", &n);
getchar(); //读走缓冲区中的回车符
for (i = 0; i < n; i++)
{
pStr[i] = name[i];
gets(pStr[i]);
}
SortString(pStr, n); //英文姓名按字典顺序排列
for (i = 0; i < n; i++)
{
puts(pStr[i]); //输出排序后的n个名字
}
return 0;
}
// 比较两个字符串的大小
int CompareString(char *s1, char *s2)
{
return strcmp(s1, s2);
}
// 冒泡排序,将指针数组排序
void SortString(char *ptr[], int n)
{
int i, j;
char *temp;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - i - 1; j++)
{
if (CompareString(ptr[j], ptr[j + 1]) > 0)
{
temp = ptr[j];
ptr[j] = ptr[j + 1];
ptr[j + 1] = temp;
}
}
}
}
```
阅读全文