无法将字符串从2D数组cGroceName复制到cGroceNameBill_1。
void main() {
char cGroceName[100][100];
char cGroceNameBill_1[100][100];
printf("\nEnter Number of Groceries:");
scanf_s("%d", &iGrocNum);
for (int i = 0; i < iGrocNum; i++) {
printf ("\nEnter GroceryName:");
scanf_s("\n%99s", cGroceName[i], sizeof cGroceName[i]);
}
for(int i=0;i<iGrocNum;i++) {
cGroceNameBill_1[i] = cGroceName[i] //--This is not working
}
}
答案 0 :(得分:0)
你所做的只是有效地分配一个&#34;指针&#34;到另一个。您需要以某种方式复制字符串,即strcpy
,snprintf
将最后一个循环更改为:
for(int i=0;i<iGrocNum;i++) {
snprintf(cGroceNameBill_1[i], strlen(cGroceName[i]), "%s", cGroceName[i]);
}
使用snprintf
确保安全。
或使用
sprintf(cGroceNameBill_1[i], "%s", cGroceName[i]);
我不确定您要打印它们的时间/地点,但是当您这样做时,它只是打电话给printf
。真的,你需要拿一本C编程书,第1-2章。
for(int i=0;i<iGrocNum;i++) {
printf("%s", cGroceNameBill_1[i]);
}