[英]Substring in C (what will happen to the remaining in array)
我已經給出了一個任務來為 C 中的給定輸入生成一個子字符串。代碼如下。
#include<stdio.h>
int main(){
char a[1000];
char *sub;
int startFrom = 0;
int endAt = 0;
printf("Enter the String: ");
scanf("%s", a);
printf("Start From? ");
scanf("%d", &startFrom);
printf("End At? ");
scanf("%d", &endAt);
sub = &a[startFrom];
a[endAt] = '\0';
printf("%s\n", sub);
return 0;
}
然而,代碼工作正常,但是數組中的其余字符會發生什么?
數組的其余部分保持不變; 只是您將數組中的一個字符更改為 null('\\0')。 因此,如果您嘗試在a[endAt]
字符之后(或之前)訪問任何其他字符,您將能夠這樣做。
但是,正如您所看到的,當您嘗試打印原始數組時,它只會打印到第一個 '\\0' 字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.