gpt4 book ai didi

c - 简单的 C 程序在运行时崩溃

转载 作者:太空宇宙 更新时间:2023-11-04 00:31:14 24 4
gpt4 key购买 nike

你好,我的程序在运行时遇到了一些问题,它崩溃了,我不得不强制关闭它,我在确定是什么原因导致它时遇到了一些问题,我们将不胜感激任何帮助

#include <stdio.h>

void myprint(char let, int num, int line)
{
int countL=0,countT=0,numb, lin;
char abc;
numb=num;
line=lin;
abc=let;

while(countL<lin)
{
while(countT<numb)
{
printf("%s",abc );
countT++;
}
printf("\n");
countL++;
}
}

int main(int argc, char const *argv[])
{
int times = 5, lines = 3;
char letter = 'a';

myprint(letter, times, lines);

return 0;
}

最佳答案

问题是你只有一个字符并试图将它打印为一个字符串:

printf("%s",abc );

在 C 中,字符串是由空字符 \0 终止的字符序列。所以这个 printf 将尝试继续打印字符,直到它找到空字节。您的程序可能会一直尝试读取内存,直到找到坏段,然后崩溃。

您可能想要做的只是在 printf 中指定一个字符:

printf("%c",abc );

另一个问题是你在赋值中颠倒了变量:

line=lin;

关于c - 简单的 C 程序在运行时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15069385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com