#include <iostream> #include <cstring> using namespace std; int main() { char * j0; char s1='123456'; char s2='123'; char *l1=&s1; char *l2=&s2; char j[100]; int i1,i2; for (i1=0;l1[i1]!='\0';i1++); for (i2=0;l1[i2]!='\0';i2++); for (int x=i2-1;x>=0;x--) { l2[x+i2-i1]=l2[x]; } for (int x=0;l2[x]!='\0';x++) { if (l2[x]==NULL) { l2[x]='0'; } } int c=0; for (int i=i1-1;i>=0;i--) { c=c+l1[i]+l2[i]; j[i]=c%10; if (c>10) { c=1; } } char *result=strcpy(j0,j); cout<<result; return 0; }
时间: 2024-01-31 18:03:39 浏览: 103
#include <iostream> #include<iomanip> using namespace std;九九乘法表
以下是修改后的代码,主要是对字符串的处理和变量类型的修改:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char j0[100]; // 修改变量类型
char s1[] = "123456"; // 修改字符串声明方式
char s2[] = "123"; // 修改字符串声明方式
char *l1 = s1; // l1指向s1
char *l2 = s2; // l2指向s2
char j[100] = {0}; // 初始化数组
int i1, i2;
for (i1 = 0; l1[i1] != '\0'; i1++);
for (i2 = 0; l2[i2] != '\0'; i2++);
for (int x = i2 - 1; x >= 0; x--) {
l2[x + i1 - i2] = l2[x]; // 将s2的内容向右移动i1-i2位
}
for (int x = 0; x < i1 - i2; x++) {
l2[x] = '0'; // 补零
}
int c = 0;
for (int i = i1 - 1; i >= 0; i--) {
c = c + l1[i] + l2[i] - '0' - '0'; // 将字符转换为数字相加
j[i] = c % 10 + '0'; // 将数字转换为字符
if (c >= 10) {
c = 1;
} else {
c = 0;
}
}
char *result = strcpy(j0, j);
cout << result << endl;
return 0;
}
```
修改后的代码使用字符串数组存储字符串,通过指针指向字符串数组进行操作。同时,对于字符和数字的转换也进行了修改。
阅读全文