這個問題還有新的疑問請教一下。
引用:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char str[80],*p;
printf("enter a sentence:\n");
gets(str);
p=str;
while(*p)
{
*p=toupper(*p);
p++;
}
printf("%s\n",str);
return 0;
}
|
請問為何p=str和p=&str有何不同呢?我改成p=&str之後,程式得到的結果是一樣的。
再者下面,p++,我改成*p++,得出來的答案也是相同的。
而我個人目前的理解是,p=&str以及下面的*p++比較合乎所學的規則,只是不知答案雖一樣,但是否隱含什麼不可知的錯誤呢?
thanks