【今日收获】关于[Error] expected primary-expression before ‘;‘ token的解决方法

这篇博客分享了在C++编程中遇到的两种常见错误:'strlen'未声明和'expected primary-expression before ‘;’ token'。作者通过链接到详细的解答文章,指出这些问题通常由于代码中的输入错误导致,建议检查并修正前面的代码。最后,博主给出了成功修复后的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入一个代码:

#include<iostream>
using namespace std;
char *ladd(char *s1,char *s2)
{	int n1,n2,n;	
char *res,c=0;	
n1=strlen(s1);	
n2=strlen(s2);	
n=n1>n2?n1:n2;	
res=new char[n+2];	
for(int i=n+1;i>=0;i--)
	res[i]=i>n-n1?s1[i-n-1+n1]:'0';	for(int i=n;i>=0;i--)	
	{		char tchar;		
tchar=i>n-n2?res[i]-n2?res[i]-'0'+s2[i-n+n2-1]-'0'+c:res[i]-'0'+c;		c=tchar>9?1:0;	
res[i]=c>0?tchar-10+'0':tchar+'0';			}		
return res;
}
int main()
{	
char num1[100],num2[100],*num;	cin>>num1>>num2;	num=ladd(num1,num2);	
cout<<num1<<"+"<<num2<<"="<<num<<endl;	delete[]num;	
return 0;}

程序报错:
在这里插入图片描述
报错①:[Error] ‘strlen’ was not declared in this scope
关于改错,这个帖子给了很详细的解答:
https://blog.youkuaiyun.com/qq_45554689/article/details/109082242?utm_source=app&app_version=4.11.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

报错②:[Error] expected primary-expression before ‘;’ token
报错③:[Error] expected ‘:’ before ‘;’ token
把这两个放在一起说,是因为他们貌似属于同范畴问题(新人瑟瑟发抖)
出现这两个问题
是因为前面的代码有你的输入错误
因此改错的着重点在于检查前面有没有你输入错的地方
综上所述,改正后的代码如下:

#include<iostream>
#include<cstring>
using namespace std;
char *ladd(char *s1,char *s2)
{
	int n1,n2,n;
	char *res,c=0;
	n1=strlen(s1);
	n2=strlen(s2);
	n=n1>n2?n1:n2;
	res=new char[n+2];
	for(int i=n+1;i>=0;i--)
	res[i]=i>n-n1?s1[i-n-1+n1]:'0';
	for(int i=n;i>=0;i--)
	{
		char tchar;
		tchar=i>n-n2?res[i]-'0'+s2[i-n+n2-1]-'0'+c:res[i]-'0'+c;
		c=tchar>9?1:0;
		res[i]=c>0?tchar-10+'0':tchar+'0';	
		}
		return res;
}
int main()
{
	char num1[100],num2[100],*num;
	cin>>num1>>num2;
	num=ladd(num1,num2);
	cout<<num1<<"+"<<num2<<"="<<num<<endl;
	delete[]num;
	return 0;
}

成功输出:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值