Que*_*232 -2 c string stdio strcpy strncpy
我无法弄清楚这个程序有什么问题.我试过用
strncpy(text,array[ ],sizeof(text))
Run Code Online (Sandbox Code Playgroud)
已经但是没有解决任何问题.我需要的是一种复制字符串的简单方法,如pascal语言,其中可以使用简单的等号来复制字符串(或者可以执行此操作的生成函数).这是源代码:
#include <stdio.h>
#include <string.h>
int x,y;
char array[10][10];
int choice;
char text[5];
int main()
{
for(x=0;x<5;x++)
{
printf("ENTER text: ");
scanf("%s", text);
strcpy (text,array[x]);
}
for (y=0;y<5;y++)
{
printf("\n");
printf("%s", array[y]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的;
"*string*"
"*string*"
"*string*"
"*string*"
"*string*"
Run Code Online (Sandbox Code Playgroud)
但我得到的是五个空格,没有字符串.任何方案?
这个说法
strcpy (text,array[x]);
Run Code Online (Sandbox Code Playgroud)
是无效的.我想你的意思是
strcpy( array[x], text );
Run Code Online (Sandbox Code Playgroud)
考虑到你应该写
scanf("%4s", text);
^^^^
Run Code Online (Sandbox Code Playgroud)