本文最后更新于2022年02月20日,已超过7天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
#include <stdio.h>
void main() {
char string[] = "I love China!";
printf("%s\n", string);
printf("%c\n", string[7]); // 输出第八个字符
}
//通过字符指针输出一个字符串
#include <stdio.h>
void main() {
char *string = "I love China!";
printf("%s\n", string);
printf("%c\n", string[7]); // 输出第八个字符
}
将a字符串数组复制到b字符串数组
#include <stdio.h>
void main() {
char a[] = "abcdefg";
char b[20];
int i;
for (i = 0; *(a + i) != '\0'; i++) {
*(b + i) = *(a + i);
}
*(b + i) = '\0';
printf("a = %s\n", a);
// printf("b = %s\n", b);
printf("b = ");
for (i = 0; b[i] != '\0'; i++) {
printf("%c", b[i]);
}
printf("\n");
}
用指针变量来处理
#include <stdio.h>
void main() {
char a[] = "abcdefg", b[20],*p1,*p2;
p1 = a;
p2 = b;
for (; *p1 != '\0'; p1++) {
*p2 = *p1;
p2++;
}
*p2 = '\0';
printf("a = %s\n", a);
printf("b = %s\n", b);
}
char *a;
a="I love Chinal";
正确char str[14];
str[0]='1';
正确char *a, str[10];
a=str;
scanf ("%s",a);
正确#include <stdio.h
void main() {
char *a = "I love China!";
a = a + 7;
printf("%s\n", a); // 从第八个字符开始输出
}
char a[]="House", *b="House";
a[2]='r';
正确a[5]
、*(a+5)
p=a
,则也可以用指针变量带下标的形式和地址法引用。p[5]
、*(p+5)
#include <stdio.h>
void main() {
char *format;
int a = 10;
float b = 3.6;
format = "a = %d, b = %f \n";
printf(format, a, b);
// 相当于
printf("a = %d, b = %f \n", a, b);
}
用函数调用实现字符串的复制。
#include <stdio.h>
void main(){
// 字符数组名做参数
void string_copy(char from[], char to[]);
char a[] = "abcdefg", b[20];
string_copy(a, b);
printf("a = %s\n", a);
printf("b = %s\n", b);
}
void string_copy(char from[], char to[]){
int i;
for (i=0; from[i]!= '\0'; i++) {
to[i] = from[i];
}
to[i] = '\0';
}
#include <stdio.h>
// 字符指针变量做参数
void main(){
void string_copy(char *from, char *to);
char *a = "abcdefg", b[20];
char *to = b;
string_copy(a, to);
printf("a = %s\n", a);
printf("b = %s\n", b);
}
void string_copy(char *from, char *to){
for (; *from != '\0'; from++,to++) {
*to = *from;
}
*to = '\0';
}
类型说明符
(*指针变量名)()
int (*pf)();
表示 pf 是一个指向函数入口的指针变量,(函数值)是整型。#include <stdio.h>
// 字符指针变量做参数
void main(){
int max(int, int);
int(*p)(int, int);
int a, b, c;
p = max;
scanf_s("%d %d", &a, &b);
c = (*p)(a, b);
printf("max=%d\n", c);
}
int max(int x,int y){
int z;
z = (x > y) ? x : y;
return (z);
}