为什么我这个程序实现不了将输入字符串特定的个数拷到str2中scanf那里面的话也没显示
本帖最后由 胖胖的小阿涵 于 2021-1-23 18:09 编辑#include<stdio.h>
#include<string.h>
#define MAX 1024
int main()
{
int i,j;
charstr1,str2;
printf("请输入一个字符串到str1中:");
fgets(str1,MAX,stdin);
scanf("请输入需要拷贝的字符个数:%d",&i);
printf("开始拷贝str1的内容到str2中...\n");
strncpy(str2,str1,i);
str2='\0';
printf("拷贝完毕!现在str2中的内容是:%s",str2);
return 0;
} scanf和Python中的input不一样
改成这样就好了
#include<stdio.h>
#include<string.h>
#define MAX 1024
int main()
{
int i,j;
char str1,str2;
printf("请输入一个字符串到str1中:");
fgets(str1,MAX,stdin);
printf("请输入需要拷贝的字符个数:");
scanf("%d",&i);
printf("开始拷贝str1的内容到str2中...\n");
strncpy(str2,str1,i);
printf("拷贝完毕!现在str2中的内容是:%s",str2);
return 0;
}
P.S: 如果你输入的是中文,那么i要乘2(一个中文字符占两个字节) scanf() 函数不能这么用,看2楼的答案 qiuyouzhi 发表于 2021-1-23 18:29
scanf和Python中的input不一样
改成这样就好了
啊学杂了。。。。忘了{:10_266:}
页:
[1]