C 程序无法按预期工作

C 程序无法按预期工作,c,floating-point-exceptions,long-long,C,Floating Point Exceptions,Long Long,我这里有个问题。我必须做一个程序,检查信用卡号码是否有效或不使用校验和。从第二个数字到最后一个数字,每隔一个数字相乘,然后加上乘积,再加上没有相乘的数字。除以时,结果应为0。然而,我的程序有一个问题。当我输入大的数字时,值会向上变化,最后我得到浮点异常(内核转储)。当我输入较小的数字时,有时有效,有时无效。请帮帮我 谢谢你的帮助。请解释这个问题,以便我以后可以避免它。我认为在将I迭代到一个大的cardNum时可能会遇到问题,因为cardNum很长,可以容纳大量的数字,但int I只是一个相对较小

我这里有个问题。我必须做一个程序,检查信用卡号码是否有效或不使用校验和。从第二个数字到最后一个数字,每隔一个数字相乘,然后加上乘积,再加上没有相乘的数字。除以时,结果应为0。然而,我的程序有一个问题。当我输入大的数字时,值会向上变化,最后我得到浮点异常(内核转储)。当我输入较小的数字时,有时有效,有时无效。请帮帮我


谢谢你的帮助。请解释这个问题,以便我以后可以避免它。

我认为在将I迭代到一个大的cardNum时可能会遇到问题,因为cardNum很长,可以容纳大量的数字,但int I只是一个相对较小的int


要解决此问题,请尝试将cardNum作为字符串保存,从中提取每个数字并将其解析为int。然后,您可以将它们相乘并相加,而不必处理表示大数字的问题。

我认为,当将I迭代到大cardNum时,您可能会遇到问题,因为cardNum很长,可以保存大数字,但int I很长只是一个相对较小的整数


要解决此问题,请尝试将cardNum作为字符串保存,从中提取每个数字并将其解析为int。然后,您可以将它们相乘并相加,而不必处理表示大数字的问题。

我认为,当将I迭代到大cardNum时,您可能会遇到问题,因为cardNum很长,可以保存大数字,但int I很长只是一个相对较小的整数


要解决此问题,请尝试将cardNum作为字符串保存,从中提取每个数字并将其解析为int。然后,您可以将它们相乘并相加,而不必处理表示大数字的问题。

我认为,当将I迭代到大cardNum时,您可能会遇到问题,因为cardNum很长,可以保存大数字,但int I很长只是一个相对较小的整数



要解决此问题,请尝试将cardNum作为字符串保存,从中提取每个数字并将其解析为整数。然后,您可以将它们相乘并相加,而无需处理表示大量数字的问题。

cardNum需要是字符串而不是数字,您正在循环它,希望得到每个数字。for循环将为您提供从1到信用卡号码的所有数字(一个长循环)

cardnum需要是字符串而不是数字,您正在循环它,希望得到每个数字。for循环将为您提供从1到信用卡号码的所有数字(一个长循环)

cardnum需要是字符串而不是数字,您正在循环它,希望得到每个数字。for循环将为您提供从1到信用卡号码的所有数字(一个长循环)

cardnum需要是字符串而不是数字,您正在循环它,希望得到每个数字。for循环将为您提供从1到信用卡号码的所有数字(一个长循环)

您的一个数学计算产生的数字太大或太小,不适合您选择的数据类型。找出原因。显示“浮点异常”,但我没有看到任何浮点stuff@pm100没关系。例如,整数除以零可以做到这一点。您的数学计算之一是生成一个太大或太小的数字,不适合您选择的数据类型。找出原因。显示“浮点异常”,但我没有看到任何浮点stuff@pm100没关系。例如,整数除以零可以做到这一点。您的数学计算之一是生成一个太大或太小的数字,不适合您选择的数据类型。找出原因。显示“浮点异常”,但我没有看到任何浮点stuff@pm100没关系。例如,整数除以零可以做到这一点。您的数学计算之一是生成一个太大或太小的数字,不适合您选择的数据类型。找出原因。显示“浮点异常”,但我没有看到任何浮点stuff@pm100没关系。例如,整数除以零可以做到这一点。是的,这就是问题所在。谢谢。是的,这就是问题所在。谢谢。是的,这就是问题所在。谢谢。是的,这就是问题所在。非常感谢。