void exchg(char * str)
{if(str == NULL) return;int len = strlen(str);char tmp;for(int i=0,j=len-1;i<j;){ tmp = str[i];str[i++] = str[j];str[j--] = tmp;}
}原文:https://www.cnblogs.com/wjundong/p/11556099.html
1单词长度(4分)题目内容:你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it‘s”算一个单词,长度为4。注意,行中可能出现连续的空格。 输入格式:输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。 输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有...
#include <stdio.h>
#pragma warning(disable:4996)int power10(int n)
{if (n == 0){return1;}int val = 10;for (int i = 1; i < n; i++){val *= 10;}return val;
} 在开发平台vs2013下面,选择调试-》窗口-》内存-》内存11int main(int arg, char *args[])
2{
3char buf[] = "123";
4 printf("%p\n",buf);
5char str[] = "12345678";
6 }点击第5行即可显示字符数组str在内存中的地址值 原文:https://www.cnblogs.com/saintd...
一、数组概述构造数据类型之一;数组是具有一定顺序关系的若干个变量的集合,组成数组的各个变量称为数组的元素;数组中各元素的数据类型要求相同,用数组名和下标确定;数组可以是一维的,也可以是多维的。1、一维数组所谓一维数组是指只有一个下标的数组。它在计算机的内存中是连续存储的;C语言中,一维数组的说明一般形式为:<存储类型> <数据类型 > <数组名>[常量表达式] ;注:C语言对数组不作越界检查,使用时要注意;数组名...
char* strstri(char * inBuffer, char * inSearchStr)
{char* currBuffPointer = inBuffer;while (*currBuffPointer != 0x00){char* compareOne = currBuffPointer;char* compareTwo = inSearchStr;//统一转换为小写字符while (tolower(*compareOne) == tolower(*compareTwo)){compareOne++;compareTwo++;if (*compareTwo == 0x00){return (char*) currBuffPointer;}}currBuffPointer++; }return NULL;
}/*‘).addClass(‘pre-num...
字符串的存储字符串是用字符数组存储的,并且最后一位必须是\0
,编译器会把这个字符数组看做是char*类型的指针。 例如:printf("abc") //传递的时abc的地址,并且是a的地址
操作:char *p;
p = "abc";char ch;
ch = "abc"[1];字符串变量charstr[8] = "abcdefg";//会把这几个字符复制到这个字符数组中;他的存储方式为:
如果字符串不够7个就会把剩余的单元填\0
如果超出7个就不会把这个数组看成字符串了,字符串后面必须要有...
第一次变量冲突问题 解决了一个多小时,。。。。代码如下: ↓ #include<stdio.h>
#include<string.h>
#define N 200 //输入字符串的最大长度int main()
{//************************输入开始部分********************************printf("请输入字符串。(长度在200以内)\n\n");int i=0,j,k,temp,lowLetters=0,capLetters=0,num=0,speChar=0; //定义计数变量char str1[N],str2[N]; gets(str1); //接收键盘输入的字符串传递...
#include <stdio.h>
int main()
{/********************************************** 内存:* 1.常量区* 存放一些常量字符串,这些字符串可以缓存,当再次定义相同的字符串时,* 直接可以使用。这样的字符串是不允许修改的* 2.堆* 存放对象* 3.栈* 存放局部变量** 指针和字符串:* 定义字符串的2种方式* 1> 利用数组* char name[] = "abcd";* * 特点:字符串里面的字符是可以修...
字符串排序有2种:1长度strlen2比较strcmp 读入一个3行的二维字符串数组,使用求字符串长度函数strlen,进行从大到小排序,使用冒泡排序。 1 #include <stdio.h>2 #include <string.h>3main()4{5int i, j;6char t[20], a[3][20];7for (i = 0;i < 3;i++) /* 为a表赋值 */ 8 {9 gets(a[i]);
10 }
1112 printf("\n");
13for (i = 0;i < 3;i++) /* 输出a表 */14 {
15 puts(a[i]);
16 }
1...
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1) 查找字符串 strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前...
#include<stdio.h>
#include<assert.h>/*查找函数的头文件*/
char *my_strcpy(char *dest,const char *src)
/*传参,把src依次传给dest,指针数组,每一个都是地址*/
{
char *ret=dest;/*接收的为地址*/
assert(dest!=NULL);
assert(src!=NULL);
/*两处使用指针,使用指针一定要先用查找函数判断是否为空,防止不小心将空地址传递*/
while( * dest++ = * src++)
{
;
}
return ret;/*返回的ret为字符串则用char,且为...
//对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序。 1 #include <stdio.h>2 #include <ctype.h>3 #include <string.h>4 5void fun(char *s,int num)6{7int t,i,j,k;//使用指针8 s++;9for ( i = 1; i < num-1; i++)
10 {
11 k = 1;
12for (j = i+1; j < num - 1; j++)
13 {
14if (*s < *(s + k))
15 {
16 t = *s;
17 *s = *(s + k);
18 ...
C语言中的字符串
我们知道,c语言中的数据类型有short、int、long、char、float、double六种,但是没有字符串类型,如果我们要表达一串字符那么应该怎么做呢?比如abc我们可以表示为"abc",字符串可以放入数组: char arr1[] = "abc";char arr2[] = { ‘a‘,‘b‘,‘c‘ };printf("arr1 = %s\n", arr1);printf("arr2 = %s\n", arr2);可见,有两种表示形式,那么这两种输出的结果是否相同,且看:可见arr2的结果除了abc还另外出现...
也是面腾讯的一道编程题=,= 这题比较简单 代码如下: 1 #include <stdio.h>2 #include <string.h>3 4// 非递归实现字符串反转 5char *reverse_v1(char *str) 6{ 7if( !str ) 8 { 9return NULL;
10 }
1112int len = strlen(str);
13char temp;
14for( int i = 0; i < len / 2; i++ )
15 {
16// 交换前后两个相应位置的字符 17 temp = *(str + i);
18 *(str + i) = *(str ...
#include <stdio.h>#include <string.h>int main (){ void fun(char *a,char c); char b[20],d; gets(b); scanf("%c",&d); fun(b,d); puts(b); return 0;}void fun(char *a,char c){ int i,m,n=0; m=strlen(a); for (i=0;i<m;i++) { if(*(a+i)!=c)*(a+(n++))=*(a+i); } *(a+n)=‘\0‘;}原文:https://www.cnblogs.com/wyh543928678/p/14129001.html