『壹』 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]!='