【发布时间】:2021-10-07 01:30:01
【问题描述】:
我创建了用户定义的函数 STR_LEN_BUFFER 来模仿 strcpy 的行为,但它不会复制空字符 '\0',而是继续打印空格以填充结果字符串,其长度由 MAX_LEN 指定(设置在这种情况下为 15)。仅当输入字符串的长度小于 8 时才会填充任意字符(在这种情况下是笑脸?)。
#include <stdio.h>
#include <string.h>
#define MAX_LEN 15
int i;
int max_len;
char Buffer_Space[MAX_LEN]="";
char* STR_LEN_BUFFER(char* og);
void main()
{
int n;
char ipstring[MAX_LEN];
printf("Enter your string\n");
scanf("%s",ipstring);
printf("\n");
printf("your string modified\n");
printf("%s",STR_LEN_BUFFER(ipstring));
printf("<- this would be the starting position of the next string");
}
char* STR_LEN_BUFFER(char* og){
for(i=0;i<MAX_LEN;i++){
if(og[i]!='\0')
Buffer_Space[i]+=og[i];
else
Buffer_Space[i]+=' ';
}
return Buffer_Space;
}
输出: 输入你的字符串 嘿
您的字符串已修改 嘿☺
【问题讨论】:
-
您的问题是什么?你为什么用
+=?
标签: arrays c loops for-loop c-strings