Closed. This question is off-topic. It is not currently accepting answers. Learn more。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
两年前关闭。
我有这么一段代码
但它不会在打印“k otok,otok,t ok,ok,k”后结束。此代码继续打印一些垃圾,然后停止。如何克服?
我试图添加
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
两年前关闭。
我有这么一段代码
int main()
{
char* word = "kotok";
char* word1 = word;
while (word1 != '\0'){
printf("%s ", word1);
word1++;
}
return 0;
}
但它不会在打印“k otok,otok,t ok,ok,k”后结束。此代码继续打印一些垃圾,然后停止。如何克服?
我试图添加
word1[strlen(word1)] = '\0';
,但它给出了一个分段错误。 最佳答案
word1
是指针。'\0'
是一个字符。这就是为什么word1 != '\0'
没有达到您期望的效果。
您必须取消对指针的引用才能获取它指向的字符:
while (*word1 != '\0') {
关于c - C中的char *结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40567279/
10-13 05:02