三九宝宝网宝宝教育教学论文

字符串排序c语言问题

01月03日 编辑 39baobao.com

[c语言将一个数组里的字符串复制到另一个数组中]比如源字符串是s,要复制到另一字符串t中,这里必须满足t能放得下s的全部元素,否则将会有危险发生。举例代码如下: //#include "stdafx.h"//If the vc++6.0, with this line. #inclu...+阅读

第一个程序是错误的.你只是换了头一个字母,运行结果如下:

abc

hew

jhg

rht

zfi

你看下吧,这没有达到你字符串排序的目的,错误就错在

if(strcmp(p[i],p[j])>0)

{temp=*p[i];*p[i]=*p[j];*p[j]=temp;}

*p[i]只代表一个字符,原则上应该是把星号去掉,因为你要换的是整个字符串,所以不能用直接用赋值符号.

改成现在这样就对了

{strcpy(temp,p[i]);

strcpy(p[i],p[j]);

strcpy(p[j],temp);}

这在字符串函数里应该有详解的.如果你想用换地址来实现输出后字符串换位的话,你可以定义一个指针数组.

主函数:char *a[5]={"abc","rew","jhg","zht","hfi"}; 你只有这样定义才能用printf("%s\n",*(a+i)); 输出,否则只能用printf("%s\n",a+i); 输出.想必这块儿你想明白了.

被调函数做下相应的改动.这样就可以直接用赋值符号了.

以下为关联文档:

C语言传字符串数组当指针用 // aa.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; void fu(char *buf) { str...

c语言:数组:不用strcpy函数实现字符串的复制#include<stdio.h> void Copy_string(char* str1, char* str2); //函数声明 int main() { char str1[20]; char str2[20]; puts("请输入字符串str1:"); gets(str1); //获取从键盘...

关于c语言中字符串的复制标准C语言中有对字符串的支持啊,字符串的复制可以用函数 strcpy()。 原型:char *strcpy(char *dest, char *src); 功能:把src所指由'\0'结束的字符串复制到dest所指的数组中。...

C语言:编写一个函数实现把一字符串复制到一个字符数组中展开全部 # include void strcopy( char str1[], char str2[]) { int i; for(i=0;str[i]!= '\0';i++) { str1[i]=str2[i]; s1[i]='\0'; } } void main() {char str1[20];str...

C语言中怎么连接两个字符串注意,下面这句 i++ ,如果a数组中取出的 不是 '\0' (结束符)的话, i 加 1 了 , while(a[i]!='\0') i++; // 所以 下面这句执行 时, i 应该 是 10 (左右),就是 hello word 结束后 while...

c语言设计函数连接两个字符串/*! \brief 连接两个字符串 * \param dst 字符串dst地址,也是连接后字符串的存储地址 * \param src 字符串2地址 * \note 必须保证dst剩余的空间能容纳字符串src,否则,调用结果...

c语言中怎样统计字符串中包含英文字母的个数#include int count_letter(char *str) { char *p = str; int cnt = 0; //开始计数 while (*p != '\0') { if ((*p >= 'a' & *p = 'A' & *p cnt++; } p++; } //计数完成 pri...

C语言编程输入的字符串中包含字母和号#include "stdio.h" #include "string.h" main() { char a[100],b[100]; int i=0,j=0,n=0; printf("请输入带*号的字符串!:\n"); gets(a); printf("\n"); //puts(a); while(a[i]!='\0')...

C语言统计二维字符数组里的字母个数怎么做#include <stdio.h>int fun(char ar[4][6], char c) { int count = 0, i, j; for (i = 0; i < 4; ++i) for (j = 0; j < 6; ++j) if (ar[i][j] == c) ++count; return count...

推荐阅读
图文推荐