‘壹’ c语言基础知识
char a[20],b[20],c[20];
上面的a,b,c都是数组变量,在定义时已经为其分配栈内存,而
char (*str1)[20],(*str2)[20],(*str3)[20];
只是分配了4个字节的内存来保存指针变量(即变量本身),而指针的值(即指向)还没有,所以这些指针还不能保存数据!
--------------
char (*str1)[20],(*str2)[20],(*str3)[20];
str1 str2 str3均为指针,都指向长度为20的char数组.
你只定义了指针,但是没有对其进行有效的初始化,没有内存来保存数数据.
可以将这一行修改:
char (*str1)[20],(*str2)[20],(*str3)[20];
==>>
char arr[3][20];
str1 = arr[0];
str2 = arr[1];
str3 = arr[3];
其余照旧就行了.
‘贰’ c语言设计 帮忙~~
stract函数
#define NUM 5
#include<stdio.h>
lj(char b[10],char c[NUM])
{
int i;
for(i=5;i<10;i++)
{
b[i]=c[i-5];
if(b[i]=='\0')
{
break;
}
}
}
main()
{
char s[10]="abcde";
char a[NUM];
gets(a);
puts(a);
lj(s,a);
printf("zifuchuan lianjie hou is ");
puts(s);
}
strcmp 函数
#include<stdio.h>
main()
{
char a[5],b[5],i;
int numa,numb,cha;
gets(a);
gets(b);
numa=numb=0;
for(i=0;i<5;i++)
{
cha=a[i]-b[i];
if(cha!=0)
{
printf("cha shi %d!",cha);
break;
}
}
}
strcpy函数
#include<stdio.h>
main()
{
char s1[10],s2[10],i,j;
gets(s1);
gets(s2);
j=0;
while(s2[j]!='\0')
{
j++;
}
for(i=0;i<=j;i++)
{
s1[i]=s2[i];
}
puts(s1);
}
‘叁’ C语言如何输出ABCDCBA循环二维图形矩阵
代码:
#include <stdio.h>
int main()
{
char *s="ABCDCBABCDCBA";
int i;
for(i=0;i<7;i++)
printf("%.*s ",7,s+i);
return 0;
}
运行截图:
‘肆’ c语言字符串排序
#include<stdio.h>
#include<string.h>
#define SIZE 91
#define LIM 31
#define HALT""
void stsrt(char*strings[],int num);
int main(void)
{
char input[LIM][SIZE];
char*ptstr[LIM];
int ct=0;
int k=0;
printf("input up to%d lines,and I will sort them. ",LIM);
printf("To stop,press the enter key at a line's start. ");
while(ct<LIM&&gets_s(input[ct],100)!=NULL&&input[ct][0]!='