C语言及程序设计提高例程-28 字符串、字符数组、字符指针

贺老师教学链接  C语言及程序设计提高 本课讲解

用指向字符的指针引用字符串

#include <stdio.h>
int main( )
{
    char str[]="I am happy";
    char *s;
    s=str;
    puts(str);
    puts(s);
    return 0;
}

杜绝(指向字符的)野指针

(1)
#include <stdio.h>
int main( )
{
    char str[80];
    char *s=str;
    gets(s);
    puts(s);
    return 0;
}

(2)

#include <stdio.h>
int main( )
{
    char *s="I am happy";
    puts(s);
    return 0;
}

(3)s是野指针

#include <stdio.h>
int main( )
{
    char *s;
    gets(s);
    puts(s);
    return 0;
}

对字符串中字符的存取方法

int main( )
{
  char str1[]="i am a boy!",str2[20],str3[20],*p1,*p2;
  int i;
  for(p1=str1,p2=str2;*p1!='\0';p1++,p2++)
    *p2=*p1;
  *p2='\0';
  for(p1=str1,i=0;*p1!='\0';p1++,i++)
    if (*p1>=97&&*p1<=122)
	   str3[i]=*p1-32;
	else
      str3[i]=*p1;
  str3[i]='\0';
  ……
}
时间: 2024-10-28 09:53:41

C语言及程序设计提高例程-28 字符串、字符数组、字符指针的相关文章

C语言及程序设计提高例程-36 多维数组作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解 用多维数组名作函数参数 #include <stdio.h> int max_value(int array[][4]); int main( ) { int a[3][4]= {{11,32,45,67},{22,44,66,88},{15,72,43,37}}; printf("max value is %d\n", max_value(a)); return 0; } int max_value(int array[]

C语言及程序设计提高例程-33 二维数组元素的引用

贺老师教学链接  C语言及程序设计提高 本课讲解 输入输出二维数组元素 #include <stdio.h> int main() { int s[3][5], i, j; printf("Input 3*5 numbers\n"); for (i=0; i<3; i++) for(j=0; j<5; j++) scanf("%d", &s[i][j]); for (i=0; i<3; i++) { for(j=0; j<

C语言及程序设计提高例程-24 数组名作为函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解 用数组元素作函数实参 #include <stdio.h> int gcd(int m,int n) { int r; while(r=m%n) { m=n; n=r; } return n; } int main() { int i; int a[8]= {26,1007,956,705,574,371,416,517}; int b[8]= {994,631,772,201,262,763,1000,781}; int c[8]; for(

C语言及程序设计提高例程-31 编制自己的字符串函数

贺老师教学链接  C语言及程序设计提高 本课讲解 字符串复制 #include <stdio.h> char *scopy(char *str1, const char *str2); int main() { char s1[50]; scopy(s1, "I am happy."); printf("%s\n", s1); return 0; } char *scopy(char *str1, const char *str2) { int i=0,

C语言及程序设计提高例程-30 字符和字符串处理函数

贺老师教学链接  C语言及程序设计提高 本课讲解 统计数字字符个数 #include <stdio.h> int main() { char str[50]; int i=0, n=0; printf("输入字符串:"); gets(str); while(str[i]!='\0') { if(isdigit(str[i])) n++; i++; } printf("其中的数字字符个数是: %d\n",n); return 0; }

C语言及程序设计提高例程-29 实战字符串处理四例

 贺老师教学链接  C语言及程序设计提高 本课讲解 实战:字符串有多长 #include <stdio.h> int main() { char str[50]; int n=0; printf("输入字符串:"); gets(str); while(str[n]!='\0') { n++; } printf("这一句中有 %d 个字符.\n", n); return 0; } 实战:统计数字字符个数 #include <stdio.h>

C语言及程序设计提高例程-37 操作字符串数组

贺老师教学链接  C语言及程序设计提高 本课讲解 例:求最小姓氏 #include <stdio.h> #include <string.h> char *min_name(char [][10], int); int main( ) { char name[5][10]= {"Zhao", "Qian", "Sun", "Li", "Zhou"};; printf("%s

C语言及程序设计提高例程-15 小小型应用系统开发指导(三)

贺老师教学链接  C语言及程序设计提高 本课讲解 说明:     本程序在学习者仅掌握了基本数据类型和控制结构.函数的前提下设计,模拟银行储蓄系统的基本功能.     程序运行前,请在程序所在文件夹中,自建文件password.txt,保存123456作为初始密码,自建文件balance.dat,保存1000,作为初始的余额.    运行结束后,对数据所做的所有修改均可以利用文件保存下来.     与上一个版本相比,我们学习了模块化程序设计及用函数的实现方法,所以有能力重构了整个软件的结构.本程

C语言及程序设计提高例程-25 指针作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解 例:冒泡排序函数的新写法 #include <stdio.h> void bubblesort(int*, int); int main( ) { int i,a[10]= {3,5,9,1,3,6,-9,-7,10,12}; bubblesort(a,10); for(i=0; i<10; i++) printf("%d ", a[i]); return 0; } void bubblesort(int *p, in