在C中的运行时存储字符串
我试图在运行时存储字符串在C中的运行时存储字符串,c,C,我试图在运行时存储字符串 #include<stdio.h> #include<string.h> void main() { char string[4]; printf("Enter the String\n"); scanf("%s", &string[4]); printf("The String entered is %s\t", string); } #包括 #包括
#include<stdio.h>
#include<string.h>
void main()
{
char string[4];
printf("Enter the String\n");
scanf("%s", &string[4]);
printf("The String entered is %s\t", string);
}
#包括
#包括
void main()
{
字符串[4];
printf(“输入字符串\n”);
scanf(“%s”和字符串[4]);
printf(“输入的字符串是%s\t”,字符串);
}
输出:
输入字符串
ABCD
输入的字符串为
但实际预期输出应为输入的字符串为ABCD。为什么我会变空。
&string[4]
是数组末尾之后的一个字符串,只需使用string
引用数组的开头即可
您还应该在末尾留出空格以放置空终止字符。
&string[4]
是数组末尾的地址,而不是数组的开头
换成
scanf("%s", string);
如果您想保存4个字符,则需要至少将其设置为size=5(最后一个是空终止字符):
char字符串[5]代码><代码>扫描(“%4s”,字符串)代码>&string[4]
->string
。。。
char string[5];