#include<stdio.h>
#include<string.h>const char *my_strchr(char const *str,int ch)
{int i=0;for(;str[i]!='\0';i++){if(str[i]==ch){return str+i;}}return NULL;
}int main()
{char ch='c';char src[]="abcdecf";char const *ret;ret=my_strchr(src,ch);printf("%s\n",ret);return 0;
}
原文:http://blog.csdn.net/u013265552/article/details/44994089
C语言难点1之输入输出,链接,字符串操作 最近发现写了一段时间的C之后,还是有一些点并没有很好的get,我就想总结出来,写个系列博客,自己也好好的整理一下思路。这个系列主要出自三本书:《C专家编程》,《C陷阱和缺陷》,《C和指针》。有兴趣的同学可以好好看一下这几本书,对于打好C语言的基础是个非常不错的几本书。1 一些输入输出的格式对应的printf();和scanf()函数;在这里我给出常用的scanf格式码,和printf()函...
/*
编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数<span style="font-family: Arial, Helvetica, sans-serif;">)</span><span style="font-family: Arial, Helvetica, sans-serif;">例如:“12“ 返回12</span> “-123“ 返回-123
函数原型:int my_atoi(char *str)
{}
*/
#include <stdio.h>
int my_atoi(char *str)
{int n=0;int sum=0;if (*str=='-'){str++;n=1;}while ((*str)<='9'&&(*str)...
一,strpbrk函数函数原型:extern char * strpbrk(char *s1,char *s2);头文件:<string.h>功能:在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,但s2中不能包含‘\0‘。这个函数可以认为是strchr的一个扩展版本。其它:这个函数名字不如strcpy、strcmp那么直接,它的意思是【string pointer break】#include <string.h>
#include <stdio.h>int main(int argc,char** argv)
{if(argc != 3){printf("Usage:%s sou...
1 #include "stdafx.h" 2 #include <stdlib.h>3 #include <stdio.h>4 5int main(int argc, char* argv[])6{7 8//char chArry[10]="calc"; //数组型9// char *chArry="calc"; //指针类型 10char chArry[5]={‘c‘,‘a‘,‘l‘,‘c‘,‘\0‘}; //字符型
1112char *pArry=chArry;
13 *pArry=‘w‘;
14 *(pArry+1)=‘r‘;
15 *(pArry+2)=‘i‘;
16 *(pArry+3)=‘t‘;
17 *(pArry+4)=‘e‘;
18 *(pAr...
1,每个字符串都是一个地址,这个地址是指字符串首元素地址2,字符串常量放在data区,文字常量区 #include<stdio.h>void fun(){ printf("fun = %p\n","hello world");}int main(){ printf("s1 = %s\n","hello world"); printf("s2 = %p\n","hello world"); printf("s3 = %s\n","hello world" + 1); fun(); return 0;} 原文:https://www.cnblogs.com/guoyan94/p/10885398.html
#include <stdio.h>#include <ctype.h> #pragma mark 统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志int main(){ int num[26] = {0}, i; char c; while ((c = getchar())!=‘#‘) { if (isupper(c)) { num[c-65]++; } } for (int i = 0; i<26; i++) { if (num[i]) { printf("%c:%d\n",i+65, num[i]); } } return 0;} #pragma mark 统计一...
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";* * 特点:字符串里面的字符是可以修...