我将其中包含空格的字符串作为输入,并用NULL字符'\ 0'替换空格。当我现在打印字符串时,我只希望直到第一个空字符的部分,这是第一个空格,但是我得到的是原始字符串。打印一个空字符的字符串
这里是代码 -
#include<stdio.h>
int main(){
char a[1000];
int length, i = 0;
length = 0;
scanf("%[^\n]s", a);
while(a[i]!='\0')
i++;
length = i;
printf("Length:%d\n", length);
printf("Before:%s\n", a);
for(i=0;i<length;i++){
if(a[i] == " ")
a[i] = '\0';
}
printf("After:%s\n", a);
return 0;
}
什么这是错的?
'A [1] ==““'是不一样的'A [1] =='“'。 – DCoder
请注意编译调试信息和启用所有警告的习惯。如果你在linux上用'gcc -Wall -g'进行编译,你会得到一个警告,以帮助你发现你的错误。 –
@直播你应该发布这个答案。 –