C语言之指针
1、编写一个程序计算一个字符串的长度。
#include<stdio.h>
#include<string.h>
int main()
{
?????? char s[40];
?????? gets(s);
?????? int c=strlen(s);
?????? printf("%d",c);
?????? return 0;
}
2、编一程序,将字符串中第m表字符开始的字符子串复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调函数中完成复制。
#include <stdio.h>
void copySubstring(char source[], int m, char destination[]);
int main() {
char inputString[100], copiedString[100];
??? int m;
?printf("请输入字符串: ");
??? scanf("%s", inputString);
printf("请输入 m 的值: ");
??? scanf("%d", &m);
copySubstring(inputString, m, copiedString);
?printf("复制结果: %s\n", copiedString);
??? return 0;
}
void copySubstring(char source[], int m, char destination[]) {
??? int i = m - 1;
??? int j = 0;
???? while (source[i] != '\0') {
??????? destination[j] = source[i];
??????? i++;
??????? j++;
??? }
??????? destination[j] = '\0';
}
3、编写一个函数,从键盘输入10个数存入数组data[10]中,同时设置一个指针变量p指向数组data,然后通过指针变量p对数组按照从小到大的顺序排序,最后输出其排序结果。
#include <stdio.h>
void sortArray(int *p, int size);
int main() {
??? int data[10];
??? printf("请输入10个整数:\n");
??? for (int j = 0; j < 10; j++) {
??????? scanf("%d", &data[j]);
??? }???
??? int *p = data;??
??? sortArray(p, 10);
??? printf("排序结果:\n");
??? for (int i = 0; i < 10; i++) {
??????? printf("%d ", data[i]);
??? }
??? return 0;
}
void sortArray(int *p, int size) {
??? for (int i = 0; i < size - 1; i++) {
??????? for (int j = 0; j < size - 1 - i; j++) {?????????
??????????? if (*(p + j) > *(p + j + 1)) {?????????????
??????????????? int temp = *(p + j);
??????????????? *(p + j) = *(p + j + 1);
??????????????? *(p + j + 1) = temp;
??????????? }
??????? }
??? }
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!